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 に答える