Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示类似Facebook的按钮(由JS生成)_Javascript_Facebook_Prettyphoto - Fatal编程技术网

Javascript 显示类似Facebook的按钮(由JS生成)

Javascript 显示类似Facebook的按钮(由JS生成),javascript,facebook,prettyphoto,Javascript,Facebook,Prettyphoto,我正在使用lightbox的图像库。当图像弹出时,Twitter和Facebook按钮会出现在其下方。这是内置在PrettyTo插件中的,并且工作正常 问题是,Facebook按钮是iframe类型(不允许用户输入评论)。我想用HTML5按钮代替它(当你点击它时,它会打开一个评论框,而不仅仅是喜欢它) 我想替换此(iframe按钮的标准FB代码): …使用此按钮(类似HTML5按钮的标准fb代码): 测试文本 当我更换时,它不会出现在灯箱中。不过,它在网站上的其他任何地方都可以使用 是的,我将

我正在使用lightbox的图像库。当图像弹出时,Twitter和Facebook按钮会出现在其下方。这是内置在PrettyTo插件中的,并且工作正常

问题是,Facebook按钮是iframe类型(不允许用户输入评论)。我想用HTML5按钮代替它(当你点击它时,它会打开一个评论框,而不仅仅是喜欢它)

我想替换此(iframe按钮的标准FB代码):

…使用此按钮(类似HTML5按钮的标准fb代码):

测试文本

当我更换时,它不会出现在灯箱中。不过,它在网站上的其他任何地方都可以使用

是的,我将
.facebook
的pretto-css代码替换为
.fb-like
。我还将文本放在div中,以验证它是否显示在正确的位置

我认为问题的根源在于社交链接代码是在JS中定义的;在设置中,有一个名为“标记”的属性,用于存储lightbox和共享按钮的html。因此,它可能与FB JS代码无关

解决方案是什么?

您发布的代码(旧iframe代码)不需要使用,因为它只加载iframe

另一方面,您想要使用的html5代码确实需要sdk来呈现,您可以看到
fb like
div只是一个容器,sdk在其中插入了一个新的iframe

从您的代码中,我无法确定您是否正在加载js sdk,如果不是,则按照文档中的描述加载/初始化它,只需确保包含
xfbml
属性:

FB.init({
    appId      : 'YOUR_APP_ID', // App ID
    channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
});
如果您已经在使用js sdk,那么它应该可以工作,除非在sdk完成加载和初始化后动态添加like按钮代码。
如果是这种情况,则只需使用以下方法:


谢谢添加
FB.XFBML.parse()修复了该问题。
FB.XFBML.parse();

// or you can pass the container element:
FB.XFBML.parse(document.getElementById(ELEMENT_ID));