【问题标题】:Facebook Canvas app does not work in Internet ExplorerFacebook Canvas 应用程序在 Internet Explorer 中无法运行
【发布时间】:2012-06-06 07:32:06
【问题描述】:

我正在开发一个使用 Sinatra 用 Ruby 编写并托管在 Heroku 上的 Facebook 画布应用程序。

我将此作为我的代码的一部分:

before do
  response.headers['P3P'] = 'CP="We have no P3P policy."' 
end

我已经为此尝试了其他值,包括 CP="HONK"(在 facebook 开发网站上推荐)。

我的应用程序在 Firefox 和 Chrome 中运行良好,但在 IE 或 Safari 中运行非常奇怪。 它将无限刷新,刷新一次并停止,或者只是不加载(画布是空的,它是白色的)。有时,或者在某些计算机上,它可以正常工作,但这种情况很少见。

我的页面和 facebook 页面的内容类型值相同。

很可能是在授权重定向中卡住了重新加载。我使用 sinatra 内置的 session[] 来存储一些东西,比如当前用户 ID。我猜这些 cookie 没有被设置,而且我知道如果禁用 3rd 方 cookie,那么我的应用程序将无法正常工作。但是,由于我有 P3P 设置,它应该可以在接受 3rd 方 cookie 的浏览器中运行(我的所有浏览器都设置为这样做)。

如何让它在 IE 中运行?

编辑:我在根目录中还有一个 channel.html 文件,channelUrl : "<%= url_no_scheme('/channel.html') %>" 是我的 FB.init 的一部分。

【问题讨论】:

标签: ruby facebook sinatra p3p


【解决方案1】:

可能是修复:

禁用 channel.html 文件?

默认情况下,Facebook 加载一个空的 CSS display:none 并调用 parent.onchanneliframeready()。

看来这个调用没有完成。

【讨论】:

  • 实际上对我来说,我的应用程序处于重定向循环中。 Safari 和 IE 不允许在没有适当的 P3P 隐私政策或执行某些手动用户操作的情况下在
猜你喜欢
  • 1970-01-01
  • 2013-12-09
  • 2016-07-28
  • 2020-05-25
  • 1970-01-01
  • 2010-12-22
  • 2020-06-10
  • 1970-01-01
  • 2021-12-16
相关资源
最近更新 更多