Javascript 为什么FB.getLoginStatus()返回noSuchMethod错误?
我正在尝试在我的网站上使用实现Facebook登录。下面我建立了这样的基础:Javascript 为什么FB.getLoginStatus()返回noSuchMethod错误?,javascript,jquery,facebook,facebook-graph-api,Javascript,Jquery,Facebook,Facebook Graph Api,我正在尝试在我的网站上使用实现Facebook登录。下面我建立了这样的基础: // Loads the FB sdk asynchronously window.fbAsyncInit = function() { FB.init({ appId : 'xxx', cookie : true, xfbml : true, version : 'v2.2' }); }; (funct
// 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'));
$(function() {
$('#fb-login').click(function(){
console.log('clicked my login button');
FB.getLoginStatus(function(response) {
console.log(response);
});
});
});
之后,我尝试调用FB.getLoginStatus()
方法,如下所示:
// 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'));
$(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
有人知道什么地方出了问题,我怎样才能解决这个问题吗?欢迎所有提示 您收到此错误是因为您的应用程序使用的API版本已被弃用,因此错误不再被修复
传递最新版本的
v2.4
或v2.3
您收到此错误,因为您的应用程序使用的API版本已弃用,因此错误不再修复
通过最新版本的
v2.4
或v2.3
这么说很丢脸,但事实证明我阻止了Facebook SDK的加载。关掉它后,它就像一个符咒
我希望这个答案能帮助其他陷入这种愚蠢境地的人比我更快地解决它:)
祝大家度过美好的一天 这么说很丢脸,但事实证明我阻止了Facebook SDK的加载。关掉它后,它就像一个符咒 我希望这个答案能帮助其他陷入这种愚蠢境地的人比我更快地解决它:)
祝大家度过美好的一天 看起来像只虫子。但是为什么要在单击时使用getLoginStatus呢?FB.login是您需要的。@luschn-但据我所知,我需要先检查登录状态,然后才能登录。但正如您所建议的那样,我也尝试了login()方法(
FB.login(函数(响应){console.log(响应);})
),这导致了相同的错误:uu noSuchMethod_uuu.不推荐使用
。有什么想法吗?getLoginStatus应该在页面加载时使用,而不是在点击时使用:@luschn-在Facebook的官方示例中,他们是在点击时使用的:我知道,这个官方示例非常糟糕。不要只是复制例子,要确保你理解发生了什么。看起来像个bug。但是为什么要在单击时使用getLoginStatus呢?FB.login是您需要的。@luschn-但据我所知,我需要先检查登录状态,然后才能登录。但正如您所建议的那样,我也尝试了login()方法(FB.login(函数(响应){console.log(响应);})
),这导致了相同的错误:uu noSuchMethod_uuu.不推荐使用
。有什么想法吗?getLoginStatus应该在页面加载时使用,而不是在点击时使用:@luschn-在Facebook的官方示例中,他们是在点击时使用的:我知道,这个官方示例非常糟糕。不要只是抄袭例子,要确保你了解发生了什么。