我已經將Facebook登錄與我的應用程序集成在一起,並且我想在從我的應用程序註銷時從Facebook註銷用戶。所以我做了以下:FB.logout不能在IE8中工作
<a href="<c:url value='/security_logout'/>" onclick="FB.logout();">Logout</a>
這適用於Firefox和Chrome,但不適用於IE8。在IE8中,用戶從應用程序註銷,但未從Facebook註銷。 任何其他人遇到此問題?
我已經將Facebook登錄與我的應用程序集成在一起,並且我想在從我的應用程序註銷時從Facebook註銷用戶。所以我做了以下:FB.logout不能在IE8中工作
<a href="<c:url value='/security_logout'/>" onclick="FB.logout();">Logout</a>
這適用於Firefox和Chrome,但不適用於IE8。在IE8中,用戶從應用程序註銷,但未從Facebook註銷。 任何其他人遇到此問題?
請試試這個
<script src="http://connect.facebook.net/en_US/all.js"></script>
<div id="fb-root"></div>
<script language="javascript" type="text/javascript">
FB.init({
appId: '205734987138498',
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true // enable OAuth 2.0
});
function handleSessionResponse(response) {
// FB.XFBML.parse();
}
FB.getLoginStatus(handleSessionResponse);
//////you can optionally put the following in a seprate js file/////////
var Facebook = {}
Facebook.signout = function (url) {
FB.logout();
setTimeout('top.location.href = "' + url + '"', 2000);
}
</script>
<div onclick="Facebook.signout('http://www.uamplify.com');">Call your logout function now, click here</div>
我發現同樣的事情,也與Android瀏覽器。沙希德的修復工作了我,然後我意識到另一個辦法是把回調函數這樣內重定向:
function mysignout(url)
{
FB.logout(function()
{
top.location.href = 'url'
});
}
如果你像我一樣,你可能猜到FB.logout只是摧毀一個cookie或但它似乎做了一些Ajax調用(我想撤銷服務器上的身份驗證),並具有不同的執行時間,特別是在使用無線網絡的移動設備上。
2000毫秒可能不一定是足夠的時間完成功能,或者可能超過必要。一旦FB.logout完成後,回調函數就會執行。
您是否嘗試將IE8切換至兼容模式? – systemovich 2010-12-21 23:59:24