页面刷新后,Facebook会话始终为空--javascript

时间:2011-03-15 15:00:06

标签: javascript facebook session

我在我的网页中使用javascript来检索已经批准我的应用以及谁连接到Facebook的用户的会话。但是,当我在登录Facebook后刷新页面时,永远不会检索会话,并且始终为空...我无法理解原因。

这是我的javascript for facebook connect:

          window.fbAsyncInit = function() {

        FB.init({
          appId   : 'MY APP ID',
          status  : true, // check login status
          cookie  : true, // enable cookies to allow the server to access the session
          xfbml   : true // parse XFBML
        });

        FB.getLoginStatus(function(response) {
            if (response.session) {
            showLogout();
           } else {
            showLogin();
           }
        });             
      };
      (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
      }());

         FB.Event.subscribe('auth.login', function() {
         showLogout();
       });

    //when a user hits login it calls this function which works fine.
    function loginfuncfb() {
    FB.login(function(response) {
     if (response.session) {
       if (response.perms) {
       showLogout();
       } else {
       showLogin();
      }
       } else {n
       showLogin();
       }
    }, {perms:'email,publish_stream,offline_access'});
    }

请帮忙。感谢

*编辑

我只是想在这里发布一些挫败感,告诉你我生命中从未有过的所有事情 有一组像Facebook那样有问题的开发者工具/ SDK,我从来没有找到它 很难得到有关技术难题的答案。几乎没有任何关于Facebook问题的真实解决方案,Facebook文档是可悲的,最糟糕的是,在引用Facebook功能等时使用的术语真的很模糊。我无法相信我已经被困在这个愚蠢的小问题上多久了......

2 个答案:

答案 0 :(得分:1)

在阳光下做完所有事情之后,事实证明这是事实 我在firefox中接受第三方cookie是残疾人。

答案 1 :(得分:0)

只是一个疯狂的猜测而不看任何文档,也许你正在做的事情是错误的 - 似乎

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());

应该在其他任何事情之前完成。