FB喜欢按钮阻止FB登录按钮出现

FB like button prevents FB login button to appear

本文关键字:FB 按钮 登录 喜欢      更新时间:2023-09-26

这个异步代码进入标题中,允许显示一个类似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喜欢按钮的位置(与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根div。

似乎删除

<div id="fb-root"></div>

从FB喜欢按钮不会对按钮本身造成任何伤害。我仍然可以单击"喜欢"按钮并添加评论。此外,FB登录按钮再次工作。为什么?fb根div对于FB这样的按钮没用吗?(实际上,很多关于堆栈溢出的答案都相反)

如何使 FB 登录按钮正常工作,而不必从 FB 喜欢按钮中删除 fb-rootdiv?有什么提示吗?

提前致谢

我不知道

自从提出这个问题以来情况是否发生了很大变化,但我只是遇到了同样的问题,并使用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.
  });
...
};

希望这有帮助!