项目中需要控制同一用户不能重复登录,所以必须在用户关闭窗口时清除session,上网一搜,基本上都用的
下面这种方法:
js 代码
- function window.onbeforeunload()
- {
- if(event.clientX>360&&event.clientY<0||event.altKey)
- {
- ……
- }
- }
经过测试,发现这种方法很不完善,完全依赖鼠标的位置,无奈之下还是放弃了此方法。
最后找到下面这个方法,感觉真是不错,刷新时关闭窗口并不会执行此代码,只有在关闭窗口时才会执行,完全符合项目要求。
java 代码
- <script type="text/javascript">
- window.onunload = function(){
- /*
- window.screenTop
- 获取浏览器客户区左上角相对于屏幕左上角的 y 坐标
- screenTop>后面的数字必须大于你显示分辩率中的高度
- 比如,800*600, 这个数得大于600
- window.screenLeft
- 获取浏览器客户区左上角相对于屏幕左上角的 x 坐标
- screenLeft>后面的数字必须大于你显示分辩率中的宽度
- 比如,800*600, 这个数得大于800
- 通常这两个值设为9000
- 参考资料:DHTML完全参考手册
- http://wangwq.w4.dns2008.cn/index_web/DHTMLref/default.html
- */
- if(self.screenLeft>9000)
- window.location.href="/user.do?method=logout&background=background";
- }
- </script>