我有奇怪的问题,我如果用户在我有此链接的onclick事件内此代码记录仅显示(使用功能)的退出链接:Facebook的注销混乱
FB.logout();
window.location = 'http://www.google.com';
如果我点击一次,没有任何反应,我知道该函数被执行,因为我已经用一个警报测试了这个。但是,如果我再次单击该页面,页面会自动重新加载,并且用户确实已注销。该网页从未定向到google.com,因此该功能永远不会达到window.location部分。
我有window.location,因为我认为如果我可以刷新页面使用window.location.refresh一旦注销完成,它会成功地登出用户。但是,如果任何人有任何其他技术如何从Facebook注销用户,我很乐意听到他们!我试图手动删除cookie,但这并不奏效,cookie仍然因为某种原因而存在。我也试过这样:
FB.logout(function(response) {
window.location = 'http://www.google.com';
});
我知道这样的回调是可能的,因为文件:
http://developers.facebook.com/docs/reference/javascript/FB.logout
有其他人有过这个问题?任何建议将有助于谢谢!
更新:经过一些调试后,我发现如果我点击链接一次。然后手动刷新它将用户登出的页面。
谢谢你的回复,serg,我已经试过了,但是一旦注销执行后它仍然不会重新加载。它似乎是第一次在后台登录我,然后在第二次点击时它意识到它没有登录注销,如果这是有道理的。所以它重新加载页面,一旦它重新加载我的PHP实现其注销并显示登录表单。 – 2010-10-13 20:53:50
@Pete但它实际上是否重新加载页面?第一次重新加载页面后,问题是不刷新页面还是未注销用户?也许它会在服务器端重新加载后再次登录? – serg 2010-10-13 21:01:27
我非常肯定,当链接被点击时,页面会重新加载,现在你提到它。因为在注销之后它不会重定向到谷歌,并且我在onclick事件中将innerhtml更改为“正在注销...”。几秒钟后,它会立即切换到注销。所以也许我需要第二次重新加载? – 2010-10-13 21:19:55