Javascript:如何检测facebook连接超时错误
我正在使用带有Javascript SDK的Facebook登录网站。我们从以下方面着手:Javascript:如何检测facebook连接超时错误,javascript,facebook,facebook-javascript-sdk,facebook-login,Javascript,Facebook,Facebook Javascript Sdk,Facebook Login,我正在使用带有Javascript SDK的Facebook登录网站。我们从以下方面着手: window.fbAsyncInit = function() { FB.init({ appId : '{your-app-id}', xfbml : true, version : 'v2.0' }); FB.getLoginStatus(function(response) { statusChan
window.fbAsyncInit = function() {
FB.init({
appId : '{your-app-id}',
xfbml : true,
version : 'v2.0'
});
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
};
(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'));
目前,我正在显示加载动画,同时正在加载登录状态;然后加载用户的页面。所以,如果facebook正常运行,一切都会正常运行。但如果fb不可访问,或连接错误,则加载动画会持续显示,但不会发生任何情况;在控制台中,它显示连接超时错误
所以,我想做的就是在这种情况发生时检测它,这样我就可以显示消息“无法连接到facebook”。因为如果出现这个问题,我的应用程序将无法继续。
最好的办法是什么?我刚刚找到了摆脱这种局面的办法 在尝试连接的
超时后,如果仍然没有成功连接,则显示消息无法连接到Facebook服务器。再试一次?
var facebookConnectSuccess = false;
window.fbAsyncInit = function() {
FB.init({
appId : '{your-app-id}',
xfbml : true,
version : 'v2.0'
});
checkFacebookLoginStatus();
};
//Check after 1 minute
var connectionTimeout = 60000;
setTimeout(function() {
if(!facebookConnectSuccess) {
var tryagain = confirm("Can't connect with Facebook Server. Try Again?");
if(tryagain) {
checkFacebookLoginStatus();
}
}
}, connectionTimeout);
function checkFacebookLoginStatus() {
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
facebookConnectSuccess = true;
});
}
不,这不是我想问的。我在问,是否有任何方法可以检测到我的应用程序无法连接到facebook的服务器,例如由于网络故障或类似的情况。就像gmail显示的“尝试连接”一样