Javascript 代码会根据每个请求额外重新加载每个页面一次

标签 javascript facebook-javascript-sdk

大约一个月前,或者我在迄今为止一直有效的代码上遇到了这种行为。 每当有人通过 Facebook 登录时,每个页面都会额外重新加载一次。

例如,用户加载index.php页面,然后在javascript代码触发页面重新加载后,再次加载,然后就不会了。因此,基本上,当您单击链接或刷新当前页面时,它总共会重新加载 2 次(一次来自自然加载,另一次来自 FB javascript)

我认为出现问题的 JavaScript 代码是:

FB.Event.subscribe('auth.login', function() {
  window.location.reload();
});

为什么每次刷新页面时都会重新加载?之前只有用户登录1次才能完美运行。

我在 html 中有常规附加代码:

xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/"

JavaScript 包含在正文下方:

<div id="fb-root"><script src="http://connect.facebook.net/en_US/all.js"></script></div>

最佳答案

已修复 - 通过关注此帖子 FB.Event.subscribe('auth.login', function(response) { }) issue

引用工作示例 - http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

注意:请确保在 FB.init 设置中包含 oauth : true

关于Javascript 代码会根据每个请求额外重新加载每个页面一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539823/

相关文章:

javascript - Turbogears 与 Require JS 集成

javascript - 谷歌地图信息窗口显示在错误的标记上

javascript - 如何在没有登录的情况下访问drupal管理面板

php - 如何使用php在mysql数据库中插入特定字符

javascript - 使用解析 Facebook 登录 api,导致当前用户为 null

javascript - 就绪函数内的委托(delegate)函数

javascript - 创建在单个服务器上运行的 meteor.js 应用程序的多个实例所需的主要步骤是什么?

internet-explorer - IE9 和 HTML5 以及 XFBML 之类的按钮在 IE 保护模式下不起作用

facebook - FB.getLoginStatus 即使在用户退出 Facebook 后也会返回一个 session

node.js - 无法再从 http 页面调用方法 FB.getLoginStatus