【发布时间】:2013-02-13 20:29:25
【问题描述】:
我一直在努力解决在 IE8 上使用 Facebook Connect 时遇到的问题,我似乎已经走到了死胡同:
我们有一个 Facebook 游戏 (Canvas iFrame) 在使用 IE8 时报告了问题。我们已经完全按照FB.init 开发者页面上的说明进行操作,但一无所获。
我们尝试使用 channelUrl 修复程序和各种修复程序,所有这些都如 here 所述。
我们的响应标头正在发送 P3P 标头:
P3P CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
我们还测试了此集成的异步和同步版本,结果均未产生任何差异。
尽管我们付出了很多努力,但在 IE8 上,FB.getSession() 总是返回一个未定义的值。在报告给Facebook 的错误中,我已经查看了很多信息,尽管没有成功,但令人失望的是,他们将其解决为不是错误......尽管用户在他们认为解决后很久就在线程上不断报告该问题.
在最后一次尝试中,我转向这里,并从一个测试 FB 应用程序的健全性开始,其中除了 FB.init JS 示例添加了一些控制台日志记录以显示 FB.getSession有一个uid。
如果您要回复此问题,请问您是否正在对照 IE8 进行检查,并且正在查看控制台,该控制台已成功加载 FB会话将写入
FB: [object Object] FB.getSession().uid: [your fb id]
http://apps.facebook.com/fb-js-issue
代码如下:
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: 'appId',
status: true,
xfbml: true,
cookie: true,
channelUrl: "http://ourserver.com/channelUrl.htm"
});
FB.Canvas.setAutoResize();
console.log("Running FB test");
setTimeout(function() {
console.log("FB: " + FB + " FB.getSession().uid: " + FB.getSession().uid);
}, 5000);
};
(function () {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
因此,总的来说,该示例应用程序运行良好,但在极少数情况下,即使这样也会出现问题。
我们的真实应用(使用相同的 FB.init 方法)在 IE 上总是遇到 FB.getSession undefined 问题,因此无法加载
http://apps.facebook.com/party-on
更新:我们已确定该问题对 Windows XP 或 Vista 上的 IE8 的影响更为严重 - Windows 7 上的 IE8 似乎问题较少(尽管不是 100%)
如何克服这个问题?
所以.. 考虑到这个问题似乎很常见并且没有明确的解决方法,除了一些尚未公开讨论的严肃魔法最终将解决这个问题,真正有指导意义的将是突出其他可能的方法与他们展示的以外的 FB.connect 集成
我提到这一点的原因是,当您查看 CityVille 和 FarmVille 如何进行他们的 FB 集成时,它与 FB 自己编写的开发文档相差无几。嗯,很有趣
任何新鲜的想法和不同的角度都会在这个阶段受到广泛欢迎!
【问题讨论】:
-
我刚遇到这个:developers.facebook.com/blog/post/503,想知道这是否可能是遇到问题的原因
-
可能与报告的其他类似问题有关:stackoverflow.com/questions/6113212/…
-
Facebook 仍然将此作为打开错误bugs.developers.facebook.net/show_bug.cgi?id=16842
-
提示:您也应该使用当前的 channelUrl 协议(以及频道文件中的链接)。
-
您尝试过策略文件吗? forum.developers.facebook.net/viewtopic.php?pid=156383#p156383 它曾经帮助过我,当我从应用程序在墙上发布提要时遇到问题。
标签: javascript internet-explorer-8 facebook