6

我正在使用 Internet Explorer 8 beta 2。

  1. 客户端在http://alpha/foo上执行 POST

  2. 服务器响应重定向到http://beta/bar

  3. 客户端在http://beta/bar上执行 GET

  4. 服务器响应重定向到http://beta/baz并设置 cookie

  5. 客户端在http://beta/baz 上执行 GET,包括 cookie

  6. 服务器提供响应

  7. 用户在页面中的链接上选择“在新窗口中打开”

  8. 客户端在http://beta/link上执行 GET ,没有 cookie!

如果在第 7 步中用户只是单击链接,则 cookie正确传递。如果没有重定向,即使用户选择“在新窗口中打开”,cookie 也会正确传递。

有没有办法说服 IE8 在第 8 步中传递 cookie?

(编辑:我相信这是 IE8 beta 2 中的一个错误,所以我在 IE beta 新闻组上提出了它。欢迎提出解决方法建议。)

4

1 回答 1

2

我相信 IE8 对每个窗口使用单独的进程。如果您使用会话 cookie,新进程将以新会话开始,因此无法提交其他进程收到的会话 cookie。您可以尝试使用持久性 cookie 看看会发生什么吗?

来自http://www.microsoft.com/windows/internet-explorer/beta/readiness/developers-existing.aspx#lcie

松散耦合的 Internet Explorer (LCIE) 是一种通过分离其组件并放松它们的相互依赖性来改进浏览器的架构工作:最值得注意的是,它试图将 Internet Explorer 框架及其选项卡隔离到单独的进程中。在 Internet Explorer 8 中,这种隔离将带来更高的性能和可伸缩性,以及从磁盘或系统故障等问题中恢复的更有效的方法。

于 2008-10-07T16:26:59.643 回答