[英]FB like button prevents FB login button to appear
此异步代码位于标头中,并允许显示类似FB的按钮:
<script type="text/javascript">(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.async=true; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=XXXXXXXXXXXXX";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
该代码将显示FB like按钮的位置(以及Google Analytics(分析)跟踪代码)
<div id="fb-root"></div>
<script type="text/javascript">_ga.trackFacebook();</script>
<div class="fb-like" data-width="150" data-layout="button_count" data-show-faces="false" data-send="false"></div>
一切正常,但是在一个页面(实际上是留言簿)上,我在页面底部有一个FB登录按钮( 链接到页面 )。 FB登录按钮使用Facebook SDK for PHP。
if (!$user): ?>
<div id="fb-root" style="display:none"></div>
<script language="javascript" type="text/javascript"> //modifica per validazione w3c
//<![CDATA[
document.write('<fb:login-button size="medium" scope="email">Login with/Accedi con Facebook</fb:login-button>');
//]]>
</script>
除非我删除,否则它不会出现
<div id="fb-root"></div>
来自FB之类的按钮代码。 问题在于FB登录按钮也需要该fb-root div。
看来删除
<div id="fb-root"></div>
FB之类的按钮不会对按钮本身造成任何伤害。 我仍然可以单击“喜欢”按钮并添加评论。 此外,FB登录按钮将再次起作用。 这是为什么? fb-root div对于像按钮一样的FB是没有用的吗? (实际上,关于stackoverflow的很多答案正好相反)
如何使FB登录按钮正常工作,而不必从FB like button中删除fb-root div? 有什么提示吗?
提前致谢
自问这个问题以来,我不知道情况是否发生了很大变化,但是我也遇到了同样的问题,并通过使用FB.init设置xfbml:true解决了它。
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
status : true,
cookie : true,
xfbml : true // if 'false', Login button won't show.
});
...
};
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.