【问题标题】:IE8 loses cookies when opening a new window after a redirect重定向后打开新窗口时 IE8 丢失 cookie
【发布时间】:2008-10-07 16:17:03
【问题描述】:

我使用的是 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 中的一个错误,所以我有 raised it on the IE beta newsgroup。欢迎提出解决方法建议。)

【问题讨论】:

  • IE8 Beta 2 在 LCIE 中有很多错误,cookie 会在新窗口中丢失。这些问题已在 RC 和 RTM 版本中得到修复。

标签: cookies internet-explorer-8


【解决方案1】:

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

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

松耦合的 Internet Explorer (LCIE) 是一项架构工作,旨在 通过分离浏览器来改进浏览器 组件和松开它们 相互依存:最值得注意的是,它是 试图隔离互联网 资源管理器框架及其选项卡 单独的进程。在互联网 Explorer 8,这种隔离将带来 关于提高性能和 可扩展性,以及更强大的 从问题中恢复的方法,例如 磁盘或系统故障。

【讨论】:

  • 谢谢 - 持久性 cookie 确实有效。但这对我的应用程序来说是一个非常具有侵入性的更改。你认为这是一个错误吗?请注意,如果步骤 2 到 5 被省略(即没有重定向),“打开新窗口”保留会话 cookie。这似乎不一致。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多