这是一个重复的问题,我已经遵循了这些StackOverflow链接中提供的建议:
问题是 - 代码在90%的时间都有效。那是奇怪的部分。在我登录和退出的100次中 - 我遇到过这个问题5-6次,我的2个beta测试用户报告了同样的问题。
所以当它工作时 - 如果你点击退出链接 - 你得到facebook popup说 - 你被注销 - 当它不起作用 - 绝对没有任何反应 - 页面不刷新 - 它只是在那个页面上什么都不做。
这是点击退出时调用的javascript代码
function logout() { FB.Connect.get_status().waitUntilReady(function(status) { switch(status) { case FB.ConnectState.connected: FB.Connect.logoutAndRedirect("http://www.example.com/login/logout"); break; case FB.ConnectState.userNotLoggedIn: window.location = "http://www.example.com/login/logout"; break; } }); return false; }
这是php代码:
$this->_auth->clearIdentity(); $face = Zend_Registry::get('facebook'); $fb = new Facebook($face['appapikey'], $face['appsecret']); //$fb->clear_cookie_state(); $fb->expire_session();
任何人都经历过这种零星的问题。 感谢
答案 0 :(得分:0)
它的外观和声音好像waitUntilReady
函数永远不会“准备好”,从而阻止其余的代码执行。也许尝试以下内容,让我们知道它是否解决了问题:
function logout()
{
var status = FB.Connect.get_status();
switch(status) {
case FB.ConnectState.connected:
FB.Connect.logoutAndRedirect("http://www.example.com/login/logout");
break;
case FB.ConnectState.userNotLoggedIn:
window.location = "http://www.example.com/login/logout";
break;
}
return false;
}