Как отмечалось в другом месте, синхронный вызов полезен, если вы хотите открыть всплывающее окно после успешного ответа, поскольку браузеры часто блокируют всплывающие окна, которые не являются результатом прямого действия пользователя.
Сделайте это, вызвав API Open Graph с помощью JavaScript (или jQuery, как в примере ниже), а не с помощью JS SDK Facebook.
, например, чтобы загрузить фотографию через API Open Graph, а затем предложить пользователюдобавьте его в качестве картинки профиля, используя всплывающее окно, без блокировки всплывающего окна:
$.ajax({
type: 'POST',
url: 'https://graph.facebook.com/me/photos',
async: false,
data: {
access_token: '[accessToken]',//received via response.authResponse.accessToken after login
url: '[imageUrl]'
},
success: function(response) {
if (response && !response.error) {
window.open('http://www.facebook.com/photo.php?fbid=' + response.id + '&makeprofile=1');
}
}
});