javascript - 无法弄清楚异步 Facebook 登录使用哪个 JS 回调

标签 javascript facebook facebook-javascript-sdk

我正在尝试使用 JavaScript 允许异步 Facebook 登录。我使用的代码与每个人都使用的代码相同:

window.fbAsyncInit = function() {
  FB.init({
    appId      : 'XXX',
    channelUrl : '//' + host + '/channel.html',
    status     : true,
    cookie     : true,
    xfbml      : true
  });

  FB.Event.subscribe('auth.login', function(response) {
    // ajax call to find or create account
  });
}

但是,如果您之前没有登录过 Facebook,这只会触发回调。

auth.authResponseChange 事件用作登录按钮回调,但它也会在每次页面加载时触发。如果按钮没有被实际点击,那么这并不是很有用。

我真正需要的是一个回调,当且仅当点击登录按钮时触发。

编辑:

如果我让我的网站的“退出”按钮让您退出 Facebook,一切都会保持一致,但这太令人恼火了!

最佳答案

询问并回答:Facebook Login Button callback function

简短回答:简化。在图像按钮上使用回调,而不是使用一些花哨的 .fb-login 元素 + 订阅事件。

关于javascript - 无法弄清楚异步 Facebook 登录使用哪个 JS 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869326/

相关文章:

javascript - promise 链断裂

javascript - Facebook 登录 API 数据范围权限不起作用?

javascript - JSON 输出在代码中仍未定义,但警报正常,这是范围问题吗?

javascript - FB 登录按钮不调用 onlogin 函数

javascript - Facebook - 发布到群组页面

javascript - Jquery 在 IE 9 中不工作

javascript - enzyme 模拟 'click' 在应该工作时不起作用

javascript - Grails从脚本标签中删除参数

ios - Facebook 延迟 iOS 上的深层链接不起作用

php - 如何在 Facebook 收件箱中发送私有(private)消息