为什么FB.getLoginStatus()返回noSuchMethod错误?

时间:2015-07-17 12:47:08

标签: javascript jquery facebook facebook-graph-api

我尝试使用Facebook javascript SDK在我的网站上实施Facebook登录。在the docs之后,我设置了这样的基础:

// Loads the FB sdk asynchronously
window.fbAsyncInit = function() {
    FB.init({
        appId      : 'xxx',
        cookie     : true,
        xfbml      : true,
        version    : 'v2.2'
    });
};

(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 = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

之后我尝试像这样调用FB.getLoginStatus()方法:

$(function() {
    $('#fb-login').click(function(){
        console.log('clicked my login button');
        FB.getLoginStatus(function(response) {
            console.log(response);
        });
    });
});

但不幸的是我的控制台只说了这个:

"clicked my login button"
Error: __noSuchMethod__ is deprecated

有人知道出了什么问题以及如何解决这个问题吗?欢迎所有提示!

2 个答案:

答案 0 :(得分:1)

说这个是令人羞辱的,但事实证明我browser plugin ghostery阻止了加载Facebook SDK。关掉后,它就像一个魅力。

我希望这个答案可以帮助其他人遇到这种愚蠢行为,比我更快地修复它...:)

祝大家一个美好的一天!

答案 1 :(得分:-1)

您收到此错误的原因是您的应用使用的API版本已弃用,因此不再修复错误。

传递最新版本v2.4v2.3