Так что я разрабатываю приложение, которому нужны дополнительные разрешения от 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 (), но они не работают. Что может быть решением этого?