我们正在使用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 中加载应用程序的问题。