为什么浏览器关闭网页服务器,怎么做到关闭浏览器时,服务器的session也清掉了?...

>>session的客户端实现各个浏览器都不一样

不同的浏览器只是对cookie的进程共享不一样,这影响解决方案吗?

>>新窗口的session id和老窗口是一样的,这样您关掉一个另一个岂不是也掉线了

我们假设每个页面都有这样的语句:往session的MAP对象里写一个类似于

value-url的MAP对。

refresh怎么办?判断是不是refresh,如果是就先用AJAX写一个负值的value-url的MAP对(负值只是为了好区别),然后页面刷新的时候再写的时候,判断有负值的value以及相同url,就直接去掉这个MAP对,就不再写了。

ctrlN怎么办?ctrlN不触发onunload相当与一新页面。照样写MAP。另外我们关注的是浏览器的窗口个数,不是MAP重复值。

同一页面的连接怎么办?做成这样 dfghdfghdfg aa()这个函数里转向,且发请求到server端去掉原来的value和旧的url,写一个负值的value以及转向的url,因为要保持一个浏览器。(这里浏览器会认为这是刷新)

target = blank的页面的连接怎么办?这很简单,没啥操作。

总之,session中的MAP对个数就是浏览器的个数,在每次remove的时候判断MAP对个数如empty了就invalidate掉。

至于异常的情况我说扯淡的原因:这不关做系统的事情,这很像偷换概念来压人,我并不能接管浏览器的事件或异常,你可以说要是操作系统异常怎么办?要是计算机当机怎么办?硬件燃烧怎么办?是的,所有异常的情况我无法做到关浏览器同时清session。

至于上贴发的东西全当我没说好了。对不起那位兄弟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值