Javascript 显示类似Facebook的按钮(由JS生成)
我正在使用lightbox的图像库。当图像弹出时,Twitter和Facebook按钮会出现在其下方。这是内置在PrettyTo插件中的,并且工作正常 问题是,Facebook按钮是iframe类型(不允许用户输入评论)。我想用HTML5按钮代替它(当你点击它时,它会打开一个评论框,而不仅仅是喜欢它) 我想替换此(iframe按钮的标准FB代码):Javascript 显示类似Facebook的按钮(由JS生成),javascript,facebook,prettyphoto,Javascript,Facebook,Prettyphoto,我正在使用lightbox的图像库。当图像弹出时,Twitter和Facebook按钮会出现在其下方。这是内置在PrettyTo插件中的,并且工作正常 问题是,Facebook按钮是iframe类型(不允许用户输入评论)。我想用HTML5按钮代替它(当你点击它时,它会打开一个评论框,而不仅仅是喜欢它) 我想替换此(iframe按钮的标准FB代码): …使用此按钮(类似HTML5按钮的标准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));