Бесконечный цикл Facebook, setTimeout не помогает =(

У меня есть цикл на моем facebook при использовании ie и firefox (Перезагрузка окна Facebook Javascript SDK не работает в 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 ​​и ничего больше.


person Saikios    schedule 16.03.2012    source источник


Ответы (2)


Изменить на:

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

Вы не должны вызывать перезагрузку, если пользователь уже подключен

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);
        });
    }
});
person intern    schedule 17.03.2012