在FB.logout之后FB.getLoginStatus返回'unknown'

时间:2016-07-01 06:09:05

标签: javascript facebook-javascript-sdk

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)
    });

}

1 个答案:

答案 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 替换为您的域名