有关CTRL+N生成另一浏览器窗口的问题。

supersonics 2001-06-22 10:22:00
怎样在server端把通过CTRL+N生成的浏览器窗口与原窗口区分开(这两个浏览器公用同一份Session)。
区分开为了使一个浏览器窗口对应一份Session.
...全文
86 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
supersonics 2001-06-27
try again...
回复
supersonics 2001-06-25
我该绝望吗?
回复
supersonics 2001-06-23
sessionid当然是一样的。
因为sessionid是保存在客户端的。
现在问题已经变了:我想是不可能解决的。
新的问题如下:
A&B的定义如上不变。
但是B是由ie->file->new->window。
如何区别A&B。这时连监控CTRL+N的方法也失去了。
当然,目的不是区别A&B,目的是让server知道有B的存在(无论用户提交A/B,都要让server知道有两个client公用同一份Session).
这个问题是不可能解决的!
绝望了...
回复
llkh 2001-06-23
我刚才试了一下,把这个画面复制了一份,同时进入localhost:8080,打出来的sessionID完全一样,更奇怪的是复制出来的画面的history.length也一样。
回复
llkh 2001-06-23
这个结论怎么得出来的?逻辑错误
回复
supersonics 2001-06-22
我试了一下:
所需文件:index.html&test1.jsp&test2.jsp.
其中:index.html含有到test1.jsp和test2.jsp的连接。
test1和test2分别含有一个100000级别的循环。
步骤:
1. 进入index.html,称为A;
2. CRTL+N复制index.html称为B;
3. 点击A的test1.jsp。
4. 进行3的同时,点击B的test2.jsp。
5. 结果A,B分别进入test1.jsp和test2.jsp。
完毕。
以上试验可以说明,在服务器端是知道这两个浏览器的不同的。
否则的话,肯定A,B会进入同一个画面(相当于index.html点击test1.jsp的超连接后,不等“返回”迅速点击test2.jsp)。
回复
evergreen 2001-06-22
兄弟,这好像没有办法吧?
如果开个新的窗口就会把Session丢掉(或者换调),就没有办法作网站了,除非整个网站都不开新窗口,或者说只要开了新窗口的地方就不需要验证Session
Session是于cookie相关的,客户端通过cookie保存身份,然后传送到服务端去验证,服务端怎么知道客户端是开新窗口还是在原有窗口中浏览?也许一些低版本的浏览器可以做到,开个窗口就把Session扔掉
--想不通的说
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-06-22 10:22
社区公告
暂无公告