Ожидание перенаправления в Javascript (токен доступа Facebook) - PullRequest
0 голосов
/ 30 декабря 2011

Поэтому я пытаюсь получить токен доступа от 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?

1 Ответ

0 голосов
/ 30 декабря 2011

Если ваш браузер дает сбой, это может быть связано с тем, что обнаружен «бесконечный» цикл, и страница перестает отвечать на запросы.Может быть, вам стоит попробовать

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