2012-03-29 43 views
1

我想在我的应用程序中触发一个脚本,同时从另一个标签启动相同的链接。跨标签的会话处理

例如: 我在tab1中有www.myweb.com的实时会话,并且我在tab2中启动了相同的链接www.myweb.com,当时我需要在tab1中禁用(签署)会话。

+0

覆盖你为什么要强迫用户不要有多个选项卡打开你的网站? – 2012-03-29 03:30:24

回答

1

你不能指望从服务器端做到这一点。服务器不知道请求来自哪个标签/窗口/框架。它不知道请求是从一个窗口还是多个窗口发送的。就服务器而言,所有请求都是同一会话的一部分,因为浏览器会记住它应该用于该URL空间的哪个cookie。

我已经快速浏览了规范,并没有看到任何可以改变这种行为的cookie选项。

所以你需要从客户端做到这一点。作为页面脚本的第一步,您应该尝试删除会话cookie,然后向服务器发出ajax请求。希望会发生什么是服务器将分配给客户端一个新的cookie。当然,我有一个偷偷摸摸的怀疑,任何以前打开的标签/窗口到同一个网站将拿起新的会话cookie。

删除的cookie在javascript - delete cookie

+0

感谢您的回答。这将是莫帮助.. – Karthikeyan 2012-03-30 05:07:06