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

时间:2011-10-18 23:33:56

标签: wordpress facebook-javascript-sdk

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

如果我从Facebook注销,然后点击网站中的注销,我收到错误:

  

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

所以我用这个代替注销代码:

  

返回javascript:if(FB.getAccessToken()){FB.logout(function(){location.href ='“。$ url。”'})} else {location.href ='“。$ url。 “'}”;

(这是在wordpress钩子中完成的,所以我可以使用wordpress logout url)

但现在,当我在这种情况下点击退出时,我收到一个js错误:

  

不安全的JavaScript尝试访问框架...

如何从facebook和wordpress安全注销。 FB.Logout没有错误回调,也没有抛出任何js错误,因此很难检查这种情况。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要首先从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);
}