Javascript:如何检测facebook连接超时错误
Javascript: How to detect facebook connection timed out error
我使用Javascript SDK在网站中使用Facebook登录。我们开始做这样的事情:
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'));
目前,我正在显示加载动画,而登录状态正在加载;然后加载用户的页面。所以,如果脸书正常工作,一切都会如预期一样。但在fb不可访问或连接错误的情况下,加载动画会持续显示,但什么也没发生;在控制台中显示连接超时错误。
所以,我想做的就是在这种情况发生时检测到,这样我就可以显示消息"无法连接到facebook"。因为如果出现这个问题,我的应用程序将无法继续运行。最好的方法是什么?
我刚刚找到了摆脱这种情况的方法。
在尝试连接的某个timeout
之后,如果仍然没有成功连接,则显示消息Can't connect with Facebook Server. Try Again?
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;
});
}
相关文章:
- Phantomjs 与 Facebook 的连接无法通过 SSL 握手
- Facebook共享连接js非常慢
- Facebook 连接唯一的秘密用户标识符
- Facebook连接:Can't使用PHP SDK+JS SDK注销
- Facebook连接问题
- Javascript:如何检测facebook连接超时错误
- Facebook连接未启动
- Facebook连接-需要电子邮件和用户喜欢
- 我需要采取行动的Facebook连接脚本错误
- Facebook连接,验证一个网站., amp;和,
- Facebook“错误2”;在ios上使用Phonegap构建Facebook连接插件
- 更多的麻烦与facebook连接登录(JS SDK)
- 外部链接包含facebook连接功能
- facebook连接javascript sdk在IE中不工作
- Facebook连接登录对话框
- Facebook连接墙张贴只作为弹出窗口.如何改变这一点
- 通过javascript打开facebook连接窗口
- Phonegap 3.0 Facebook连接无效的应用程序id
- 为什么facebook连接不能在这个页面上工作?
- 我如何计数Facebook连接按钮点击我的网站