【问题标题】:Facebook infinite loop, setTimeout not helping =(Facebook 无限循环,setTimeout 无济于事 =(
【发布时间】:2012-04-02 11:11:31
【问题描述】:

使用 ie 和 firefox 时,我的 Facebook 上有一个循环 (Facebook Javascript SDK window location reload not working on Firefox) 因为:

FB.Event.suscribe('auth.login',function(response){
    location.reload(true);
});

我试过了:

FB.Event.suscribe('auth.login',function(response){
    window.setTimeout('location.reload(true)',0);
});

但它一直在循环。

附加信息:我只使用 html、javascript 和 jquery 不使用 php、asp、aspx、ruby,仅此而已。

【问题讨论】:

    标签: javascript facebook oauth reload infinite-loop


    【解决方案1】:

    改为:

    FB.Event.suscribe('auth.login',function(response){
       window.setTimeout(function () {
           location.reload(true);
       },0);
    });
    

    【讨论】:

      【解决方案2】:

      如果用户已连接,则不应调用 reload

      FB.getLoginStatus(function(response) {
          var reload = function(){location.reload(true);};
          if(response.status !== 'connected'){
              FB.Event.subcribe('auth.login',function(response){
                  setTimeout(reload,0);
              });
          }else {
              FB.Event.subcribe('auth.logout',function(response){
                  setTimeout(reload,0);
              });
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-24
        • 2021-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-19
        • 1970-01-01
        相关资源
        最近更新 更多