Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
如果wordpress中没有会话,则会出现注销问题_Wordpress_Facebook Javascript Sdk - Fatal编程技术网

如果wordpress中没有会话,则会出现注销问题

如果wordpress中没有会话,则会出现注销问题,wordpress,facebook-javascript-sdk,Wordpress,Facebook Javascript Sdk,我在我的wordpress网站上实现了facebook,除了一种情况外,一切正常 如果我从facebook注销,然后单击网站中的注销,我会得到错误: 在没有访问令牌的情况下调用了FB.logout() 因此,我将注销代码替换为: 返回javascript:if(FB.getAccessToken()){FB.logout(function(){location.href=''.$url.'})}否则{location.href='.$url.'}” (这是在wordpress钩子中完成的,这样我

我在我的wordpress网站上实现了facebook,除了一种情况外,一切正常

如果我从facebook注销,然后单击网站中的注销,我会得到错误:

在没有访问令牌的情况下调用了FB.logout()

因此,我将注销代码替换为:

返回javascript:if(FB.getAccessToken()){FB.logout(function(){location.href=''.$url.'})}否则{location.href='.$url.'}”

(这是在wordpress钩子中完成的,这样我就可以拥有wordpress注销url)

但是现在,当我在这种情况下单击注销时,我得到一个js错误:

不安全的JavaScript试图访问帧

我如何才能安全地从facebook和wordpress注销。 注销没有错误回调,也不会抛出任何js错误,因此很难检查这种情况


谢谢!

您需要先从Facebook获取登录状态,只有登录后才能调用FB.logout。请尝试以下代码

FB.getLoginStatus(handleSessionResponse);

function handleSessionResponse(response) {

    //if we dont have a session (which means the user has been logged out, redirect the user)
    if (!response.authResponse) {
        return;
    }

    //if we do have a non-null response.session, call FB.logout(),
    //the JS method will log the user out of Facebook and remove any authorization cookies
    FB.logout(response.authResponse);
}