0

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

我最大的问题是检测到 .../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?

4

1 回答 1

0

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

window.setInterval(function()
{
  // check your redirect url and so on
}, 1000);   
于 2011-12-30T10:21:58.143 回答