当应用程序在多个选项卡中打开时,Firefox (3.6.18) 共享会话。我想防止这种情况,在每个打开的选项卡上都应该有一个新会话,这样会话中的数据状态就不会被破坏。
在这方面的任何帮助将不胜感激。
小智 5
Firefox 甚至您提到的那个版本都没有问题。我认为您对浏览器如何跟踪会话 cookie 的理解有点不完整。浏览器总是会向服务器发送请求,并带有发出请求的服务器域的 cookie。这与发出 cookie 的浏览器选项卡无关。
如果您不希望跨选项卡使用会话 cookie,您可以使用特定于页面的标识符来区分服务器向客户端呈现的每个页面。当相应的选项卡发回请求时,它也必须发送特定于页面的标识符,以便服务器可以区分跨选项卡发出的请求。如果用户将带有此页面特定标识符的链接从一个选项卡复制到另一个选项卡,这对您没有帮助。
如果您想继续使用特定于页面的标识符,那么您所要做的就是解析页面标识符的传入请求参数。如果不存在,那么您可以使用 PRNG 生成一个,并在页面中发送包含此页面标识符的响应(例如,作为表单中的隐藏字段或 URL,但绝不作为 cookie)。
注意:如果您正在寻找特定于浏览器的功能,Firefox 3 和 4 没有 IE9 中的“新会话”功能,该功能允许用户跨浏览器窗口创建新会话。此外,如果服务器使用持久性 cookie 来跟踪用户,则 IE9 的“新会话”功能似乎不起作用。
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |