Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:如何检测facebook连接超时错误_Javascript_Facebook_Facebook Javascript Sdk_Facebook Login - Fatal编程技术网

Javascript:如何检测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

我正在使用带有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'));
目前,我正在显示加载动画,同时正在加载登录状态;然后加载用户的页面。所以,如果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显示的“尝试连接”一样