Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook FB.logout在IE8中不工作_Facebook_Firefox_Google Chrome_Internet Explorer 8_Logout - Fatal编程技术网

Facebook FB.logout在IE8中不工作

Facebook FB.logout在IE8中不工作,facebook,firefox,google-chrome,internet-explorer-8,logout,Facebook,Firefox,Google Chrome,Internet Explorer 8,Logout,我已经将facebook登录与我的应用程序集成,我想在用户注销我的应用程序时将其从facebook注销。因此,我做了以下工作: <a href="<c:url value='/security_logout'/>" onclick="FB.logout();">Logout</a> 这适用于Firefox和Chrome,但不适用于IE8。在IE8中,用户注销了应用程序,但没有注销Facebook。 还有其他人遇到过这种情况吗?请试试这个 <scri

我已经将facebook登录与我的应用程序集成,我想在用户注销我的应用程序时将其从facebook注销。因此,我做了以下工作:

<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>

FB.init({
appId:'205734987138498',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true,//解析xfbml
oauth:true//启用oauth 2.0
});
函数handleSessionResponse(响应){
//FB.XFBML.parse();
}
FB.getLoginStatus(handleSessionResponse);
//////您可以选择将以下内容放入seprate js文件中/////////
var={}
Facebook.signout=函数(url){
FB.logout();
setTimeout('top.location.href=“”+url+”,2000);
}
现在调用您的注销功能,单击此处

我在Android浏览器中发现了完全相同的东西。Shahid的修复对我很有效,然后我意识到另一种方法是将重定向放在回调函数中,如下所示:

function mysignout(url)
{
    FB.logout(function()
    {
        top.location.href = 'url'
    });
}
如果你和我一样,你可能认为FB.logout只是破坏一个cookie或其他东西,但它似乎会进行一些ajax调用(我猜是在服务器上撤销身份验证),并且执行时间不同,特别是在使用无线网络的移动设备上


2000毫秒可能不一定足够完成该功能,也可能超出需要。每次FB.logout完成后都会执行回调函数。

您是否尝试将IE8切换到兼容模式?