【发布时间】:2013-06-08 02:17:37
【问题描述】:
我们正在使用 node.js 和 meteor.js 开发应用程序,该应用程序在 Firefox、Chrome 和 IE 10 中运行良好,但是当我们尝试浏览时此应用程序在 IE-9 中,无法加载。
我调查了两种浏览器(IE9、Firefox)的请求/响应,我发现对于 XHR 请求,IE 9 使用 iframe 轮询而不是 Web 套接字进行数据传输。在这种情况下,IE 9 不维护 cookie,这会导致每个 XHR 请求出现 401 错误。因此 cookie 不会在 IE 9 的 iframe 中发送。
我研究了如何为 iframe 启用 cookie,我发现我们可以使用隐私政策平台 (p3p) 来实现这一点。要启用 p3p,您必须在域文件夹内的 w3c 文件夹中的响应头和 privacy.policy 文件中添加 p3p 密钥。这一切我都做了。
但在我的情况下,我已经做了很多研发来设置 p3p 的不同 -2 键。但仍然面临在IE9中加载应用程序的问题。
【问题讨论】:
-
这可能是天方夜谭,但是您是否尝试过使用 Meteorite(社区支持的包管理器)并安装了modernizr 包? atmosphere.meteor.com/package/modernizr-meteor 这可能会为 IE9 提供合适的 polyfill
-
@booyaa modernizr 用于特征检测,不提供 pollyfills。
-
由于您遇到授权错误,是否可以使用 auth 标头而不是 cookie?
-
谁还在用IE9?
标签: javascript node.js meteor p3p