在Javascript(facebook访问令牌)中等待重定向

时间:2011-12-30 10:12:15

标签: javascript facebook firefox firefox-addon facebook-authentication

所以我试图从Facebook获取访问令牌以使用我的firefox插件,所以从facebooks的角度来看我是桌面应用程序。

我最大的问题是检测重定向到... / login_success.html,因为我不知道怎么做而不会崩溃firefox。

这是我最近的尝试:

function getAuthToken() {
        var app_id = 'MY ID';
        var redirect_uri = 'https://www.facebook.com/connect/login_success.html';
        var permissions = ['user_photos', 'friends_photos', 
                           'publish_stream', 'offline_access'];
        var url = 'https://www.facebook.com/dialog/oauth?' +
        'client_id=' + app_id + '&redirect_uri=' + redirect_uri + 
        '&scope=' + permissions.join(',') + '&response_type=token';

        window.open(url);

        while(true){
            if(window.onload)
                    if(compareURL(redirec_uri))
                        break;
        }

        var hashStr = window.location.hash.substring(1);

        var arr = hashStr.split('&');

        var accessToken = arr[0];

        return accessToken;
    }

    function compareURL(url)
    {
        if(window.location.href.substring(0, url.length) == url)
            return true;
        return false;
    }

等待/检测重定向到login_success的其他任何方式?

1 个答案:

答案 0 :(得分:0)

如果您的浏览器崩溃,可能是因为检测到“无限”循环并且页面无响应。也许你应该试试

window.setInterval(function()
{
  // check your redirect url and so on
}, 1000);