Проблемы с входом в Facebook - PullRequest
0 голосов
/ 02 марта 2012

Так что я разрабатываю приложение, которому нужны дополнительные разрешения от Facebook. У меня есть кнопка, которая запрашивает разрешения и с помощью обратного вызова выполняет некоторые функции. Проблема, с которой я работаю, состоит в том, что если пользователь уже дал разрешения и снова нажимает кнопку, всплывающее окно входа в систему все еще появляется и мгновенно закрывается. Я нашел способ проверить, есть ли у пользователя разрешения перед выполнением команды FB.login (ведьма заставляет это всплывающее окно появляться, только если у пользователя нет разрешений), но затем я сталкиваюсь с проблемой блокировщика всплывающих окон, потому что я помещаю вызов FB.login в еще заявление об этой проверке.

Как я понимаю, FB.login должен быть в том же потоке функции, чтобы избежать блокировщиков всплывающих окон.

Вот мой код:

$('#shareList').click(function (event) {
    FB.api('/me/permissions', function (data) {
        if (data.data[0].photo_upload == 1) {
            $.uploadPic();
            //return false;
            //event.stopPropagation();
        }
    });

    FB.login(function (response) {
        if (response.authResponse) {
            $.uploadPic();
        } else {
            alert('Tekkis viga');
        }
    }, {scope:'photo_upload'});

    return false;
});

В идеале я хотел бы остановить функцию, если она попадает в эту проверку photo_upload, и перейти к вызову входа в систему. Я попытался вернуть false и event.stopPropagation (), но они не работают. Что может быть решением этого?

1 Ответ

0 голосов
/ 03 марта 2012

Функция, которую вы ищете: getLoginStatus , которая создаст сеанс Facebook для пользователя, который уже аутентифицирован / вошел в систему ...

http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...