Facebook会话不是从页面到页面持续存在

时间:2011-08-17 22:32:19

标签: facebook session login

我正忙着让facebook javascript SDK工作流程运行起来。要求是提供“登录”链接,而不是Facebook图标。为此,我做了一些即兴创作。到目前为止它工作得很好,但会话不会在页面之间持续存在。我认为会话在登录方法之后设置但是看起来不像那样。这是登录/注销,工作正常:

 function login() {
         FB.login(function(response) {
             if (response.session) {
                 FB.api('/me', function(response) {
                     document.getElementById('socialauth').innerHTML = "<span>Welcome,&nbsp;" + response.name + "&nbsp;</span>"
                     + "<a href=\"javascript:void(0)\" onclick=\"logout();\" style=\"color:white; font-weight: bold;\">(logout)</a>";
                 });

             } else {
             }
         }, { perms: 'email,publish_stream' });

         return false;

     }


    function logout() {
        FB.logout(function(response) {
            document.getElementById('socialauth').innerHTML = "<a href=\"javascript:void(0)\" style=\"color:white; font-weight: bold;\" onclick=\"login();\">login</a>";
        });
    }      

以下是我正在测试的内容并不会触发:

$(document).ready(function() {
    FB.getLoginStatus(function(response) {
        if (response.status == "connected") {
            // logged in and connected user, someone you know
            alert("ok - 5 seconds has passed");
        } else {
            // no user session available, someone you dont know
            alert("not ok");
        }
      });

  });

我也在我的网址框中尝试“javascript:document.cooike”,看不到FB会话的证据。

请指教?

1 个答案:

答案 0 :(得分:0)

您还需要确保在每个页面上加载Facebook SDK。对于使用jQuery的简单解决方案,请查看https://github.com/xocialhost/jquery.xocialCore.js

插件中的前两个函数涉及初始化FB和身份验证。

使用提供的功能,您可以执行以下操作:

$(document).ready(function() {

   $.xcInitFacebook = function({appId:'yourappid',callback:function() {

      FB.getLoginStatus(function(response) {

      if (response.status === 'connected') { alert('logged in'); } 
              else { alert('not logged in');  }

   } });

});