我在博客上使用了facebook like button,我在一个div中收集了所有社交网络like&share按钮,然后使用切换链接打开了该div。Twitter和google +按钮效果很好,但Facebook类的按钮在Firefox上不起作用,但在chrome上有效。顺便说一句,如果我不使用div,它也可以在firefox上正常工作。我不知道问题出在哪里。
我认为原因是JavaScript代码在页面加载时执行,并且div的属性为display:none; 也许它会影响代码。
<a href="#" onClick="$('.share').toggle();return false;"><b>Share</b></a>
<div class="share">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/tr_TR/all.js#xfbml=1&appId=API_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="url" data-send="false" data-layout="button_count" data-width="200" data-show-faces="false"></div>
</div>
您为什么不仔细阅读此处的文档,并确保已正确完成操作。https://developers.facebook.com/docs/plugins/like-button/
。另外,在您的代码中。问题在于如何定义fb-root。FB文档中明确提到,它应该放在body标记之后的第一位,并确保它不在任何其他div内。然后,您应该定义获取FB库所需的JS。
之后,将您的按钮放在您喜欢的任何div中。对此应该没有任何问题。
更清楚地说:
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/tr_TR/all.js#xfbml=1&appId=API_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- Anything should be after this -->
<a href="#" onClick="$('.share').toggle();return false;"><b>Share</b></a>
<div class="share">
<div class="fb-like" data-href="url" data-send="false" data-layout="button_count" data- width="200" data-show-faces="false"></div>
</div>
我认为您希望“ like”按钮位于div中,而不是FB JS SDK的整个实例化,这是您的方法中的错误。
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句