FB.logout()在完成时返回'unknown'状态,并在10秒后返回延迟的FB.getLoginStatus()。有人能告诉我这里我做错了什么吗?打印控制台语句,因此角度函数无关紧要。
if (angular.element(document.getElementById('logout-button')).scope().userDetails.facebookUser) {
FB.logout(function(response) {
console.log(response);
setTimeout(function () {
FB.getLoginStatus(function(response1) {
console.log(response1);
console.log("checking login status");
angular.element(document.getElementById('logout-button')).scope().logout();
})
}, 10000)
});
}
答案 0 :(得分:0)
这是因为浏览器将已注销的会话存储到cookie中。 在您的注销方法回调中使用以下代码段
FB.logout(function(response) {
document.cookie.split(";").forEach(function(c) {
document.cookie = c.
replace(/^ +/, "").
replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";domain=localhost;path=/");
});
});
将 localhost
替换为您的域名