[英]Facebook JS API - Page keeps refreshing
使用Facebook JS SDK登錄時出現一些問題。
好吧,當用戶進入頁面時,它會不斷刷新window.location.reload();
在FB.Event.subscribe('auth.login'...
中被觸發,即使用戶尚未登錄也是如此。
這是我的腳本:
window.fbAsyncInit = function() {
FB.init({
appId : '445298832195237', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Event.subscribe('auth.login', function(response)
{
$.ajax({async: false,
type: 'GET',
url: 'http://hfyt.pl/fb_register.php',
success: function(data)
{
//alert(data);
window.location.reload();
}
});
});
};
您可以在http://hfyt.pl/ (使用一些調試器取消對window.location.reload()的注釋)中進行嘗試。 我正在使用Chrome。
據我了解,這是正在發生的事情:
connected
狀態時,它將刷新頁面,然后執行步驟1-4。 重復 ..並且這種情況在每次加載頁面時都會發生,而不僅僅是第一頁。 為避免這種情況,建議您..
我認為您可能需要使用FB.getLoginStatus來檢查是否有人在頁面加載時登錄。 但是,請勿進行任何重定向。 https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
然后使用FB.Event.subscribe僅在用戶登錄及其響應更改時進行偵聽。
FB.Event.subscribe('auth.authResponseChange', function(response) { // reload here });
我認為會做到的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.