我正在构建一个在 Google 小工具内运行的 Facebook Connect 应用程序。作为小工具意味着应用程序在 iframe 中运行。在应用程序内部,有一个表单允许注册用户发表评论。提交是使用 AJAX 进行的,但我使用普通表单得到了相同的结果。问题是我需要获取用户的 facebook id。在 Firefox 中,它工作正常,但在 Internet Explorer 7 中,我收到以下错误:
'A session key is required for calling this method'
我认为这是由于 IE 处理第三方 cookie 的方式所致,因为如果我转到 Internet 选项/隐私/高级,并选中覆盖自动 cookie 处理并接受所有 cookie,它工作正常。我无法从 javascript 传递 Facebook id,因为任何人都可以篡改它。
编辑:如果我直接打开 iframe 的内容,应用程序运行正常。问题实际上是由 IFRAME 和 IE 安全模型引起的。
我做错了什么?我该如何解决这个问题?
最佳答案
您是否尝试过添加 P3P 策略?
如果设置 cookie 的响应有一个紧凑的策略,IE 将使用它来确定是否允许第 3 方 cookie..
关于cookies - iframe 中的 Facebook Connect 应用程序无法在 IE7 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554039/