今天,突然之间,facebook sdk login()停止显示弹出式in my app。甚至getLoginStatus()
也没有得到任何回应。
这是我如何初始化它:
// 'https://connect.facebook.net/en_US/sdk.js'
FB.init({
appId: facebookId,
cookie: true,
xfbml: false,
version: 'v3.2'
})
奇怪的是,如果我保持相同的sdk配置,但将sdk源更改为https://connect.facebook.net/en_US/sdk/debug.js
,它再次开始工作: /
想法?
听起来像是同一个问题,最后解决了。我使用sdk的返回值来引用FB api:
var FB;
window.fbAsyncInit = function() {
// api is ready, use the obtained reference to do things
FB.init({ ... });
}
require(['//connect.facebook.net/en_US/sdk'], function(result) {
// API reference from here used to work, and still does using debug.js
FB = result;
});
返回的对象具有预期的FB .____函数,但调用它们不再有任何影响。引用window.FB修复了问题,更像是:
var FB;
window.fbAsyncInit = function() {
// api is ready
FB = window.FB;
FB.init({ ... });
};
require(['//connect.facebook.net/en_US/sdk']);
希望这可以帮助。