【问题标题】:Facebook Session is not persisting from page - to - pageFacebook 会话没有从页面持续到页面
【发布时间】:2011-08-18 12:42:11
【问题描述】:

我很难让 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");
        }
      });

  });

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

请指教?

【问题讨论】:

标签: facebook session login


【解决方案1】:

您还需要确保在每个页面上加载 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');  }

   } });

});

【讨论】:

  • 谢谢,但 Javascript Sdk 脚本位于网站的母版页 (ASP.NET) 中,因此它会随每个新页面一起加载。
  • 在您致电后,我仍然倾向于加载 SDK。您是否收到任何 javascript 错误,例如 FB undefined?
猜你喜欢
  • 1970-01-01
  • 2013-01-28
  • 2021-05-14
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
相关资源
最近更新 更多