我從按鈕點擊事件調用Facebook JS SDK的FB.getLoginStatus。我的問題是,如果status參數設置爲true,則瀏覽器彈出窗口阻止程序會被觸發,從而阻止登錄對話框顯示。但是,當我的狀態爲false時,彈出窗口阻止程序不會被觸發。 我需要的狀態爲true,因爲我的網站需要知道用戶是否登錄Facebook而無需刷新頁面。 False參數值意味着FB僅獲取緩存的登錄狀態,如果用戶在您的網站上仍然退出Facebook時可能會出錯。FB.getLoginStatus觸發瀏覽器彈出窗口阻止程序。我怎樣才能阻止它?
我該如何解決這個問題?
這裏是一些代碼,說明了這個問題
$('.my-button').click(function() {
FB.getLoginStatus(function (response) {
if (response.status != 'connected') {
FB.login(function (r) {
if (r.status == 'connected') {
alert('logged in');
}
});
}
}, true);
});
在用戶點擊按鈕之前(例如在頁面加載時),可能會調用FB.getLoginStatus,將結果存儲在變量中,並且能夠根據變量狀態直接在Click處理程序中調用FB.login ,不是嗎? – Pierre