我似乎遇到了一个奇怪的问题,如果我调用FB.logout,应用程序会成功注销,状态将返回unknown
。
但是当我刷新页面时,状态返回connected
并且我已登录。
function facebookLogout() {
FB.getLoginStatus(function(response) {
console.log(response.status);
if (response && response.status === 'connected') {
FB.logout(function(response) {
console.log(response);
$('.not-logged-in').css({ "display": "inline-block" });
$('.logged-in').css({ "display": "none" });
// Not logged in
document.getElementById('status').innerHTML = 'Please login.';
// UI
$('#account-options').slideDown();
});
}
});
}
我如何在页面加载时检查登录状态:
window.fbAsyncInit = function () {
FB.init({
appId: 'appId',
cookie: true, // enable cookies to allow the server to access
// the session
xfbml: true, // parse social plugins on this page
version: 'v2.5' // use graph api version 2.5
});
FB.getLoginStatus(function (response) {
console.log(response);
account.facebookStatusChangeCallBack(response, function () {
// Logged in
facebookLogin();
// Login to GameSparks and get player data
account.gameSparksLogin(function (player) {
onGameSparksLogin(player, true);
}, function (error) {
// TODO: Handle error
});
// UI
$('#account-options').slideDown();
setTimeout(function () {
$('#account-options').slideUp();
}, 2500);
}, function () {
// Not logged in
document.getElementById('status').innerHTML = 'Please login.';
// UI
$('#account-options').slideDown();
setTimeout(function () {
$('#account-options').slideUp();
}, 2500);
});
});
};
任何帮助将不胜感激。非常感谢你。 PS:我也尝试过期cookie(来自控制台),但它只是重新设置页面刷新。