【发布时间】: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 的一部分。
【问题讨论】: