`
yonguo
  • 浏览: 244550 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关闭窗口时执行,刷新窗口不执行

阅读更多

项目中需要控制同一用户不能重复登录,所以必须在用户关闭窗口时清除session,上网一搜,基本上都用的

下面这种方法:

js 代码
  1. function window.onbeforeunload()      
  2. {      
  3.     if(event.clientX>360&&event.clientY<0||event.altKey)      
  4.     {      
  5.         ……   
  6.     }      
  7. }  
经过测试,发现这种方法很不完善,完全依赖鼠标的位置,无奈之下还是放弃了此方法。
最后找到下面这个方法,感觉真是不错,刷新时关闭窗口并不会执行此代码,只有在关闭窗口时才会执行,完全符合项目要求。
java 代码
  1. <script type="text/javascript">   
  2.   
  3.     window.onunload = function(){   
  4.         /*  
  5.             window.screenTop  
  6.             获取浏览器客户区左上角相对于屏幕左上角的 y 坐标  
  7.             screenTop>后面的数字必须大于你显示分辩率中的高度  
  8.             比如,800*600, 这个数得大于600   
  9.             window.screenLeft  
  10.             获取浏览器客户区左上角相对于屏幕左上角的 x 坐标  
  11.             screenLeft>后面的数字必须大于你显示分辩率中的宽度  
  12.             比如,800*600, 这个数得大于800  
  13.               
  14.             通常这两个值设为9000  
  15.               
  16.             参考资料:DHTML完全参考手册   
  17. http://wangwq.w4.dns2008.cn/index_web/DHTMLref/default.html  
  18.         */  
  19.            
  20.         if(self.screenLeft>9000)    
  21.             window.location.href="/user.do?method=logout&background=background";   
  22.     }    
  23.     
  24.   
  25. </script>  

 

分享到:
评论
1 楼 yonguo 2007-08-30  
郁闷,今天发现这种方法只适用于IE6,firefox不支持screenLeft、screenTop两个属性。

相关推荐

    判断浏览器是刷新还是关闭窗口

    但或许在实际应用中我们都发现一个问题,刷新浏览器同样会触发onunload事件,也就是只要是离开该页面就会触发onunload事件,或许刷新时我们并不想执行onunload定义的操作,或者我们只想在刷新时执行某操作,这样我们...

    js监听页面的刷新与关闭

    使用javascript实现监听页面的刷新与关闭,可在用户刷新或关闭窗口时执行相关操作。

    vuejs中监听窗口关闭和窗口刷新事件的方法

    e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; 2、在生命周期钩子中注册监听事件 methods: { beforeunloadHandler (e) { // ... } } 在 mounted

    JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)

    // 每隔五秒定时刷新当前窗口 setTimeout("self.location.reload();",5000); //js 定时关闭窗口(ie和FF中测试过) //6秒后自动关闭当前窗口 setTimeout("window.opener=null;window.close()",6000); 下面给大家介绍...

    asp.net 实现弹出窗口功能

    在 web应用中,比如OA中,经常要用到一些提示,比如EMAIL到达了,就做个象MSN那样的提示框,弹出给用户提示,然后再关闭。在ASP.net 2.0的ajax中,这个现在不难做到了,刚好看到老外的一篇文章,讲解到,下面小结之

    用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在[removed]脚本中通过[removed]来指定或者在&lt;body&gt;里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 Onbeforeunload...

    layer实现关闭弹出层刷新父界面功能详解

    本文实例讲述了layer实现关闭弹出层刷新父界面功能。分享给大家供大家参考,具体如下: layer是一款近年来备受青睐的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富...

    javascript在当前窗口关闭前检测窗口是否关闭

    在当前窗口关闭前,检测当前窗口是否关闭 &lt;pre name=code class=html&gt;&lt;pre name=code class=html&gt;&lt;HTML&gt;&lt;HEAD&gt; [removed] [removed]=function(event){ alert&#40;222&#41;; //这里IE9会执行,CHROME不会...

    【原创】模拟网页自动点击工具 -- 支持自动刷新IP(UV),支持访问MYSQL、MSSQL数据库返回链接,支持自动在线更新

    循环重启软件运行此项是为了和刷新ADSL一起配合产生独立IP,因为每个浏览器都有Cookies,关闭浏览器就可以彻底清除Cookies产生独立访客(UV)了。如果同时选择了最小化启动程序可以用全局快捷键Ctrl+Alt+空格解除循环。...

    Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求

    网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { window.addEventListener('...

    javaScript对象

    1. 使用window对象可以实现弹出窗口、关闭当前窗口、弹出页面消息框等效果 2. 使用Date对象可以获得当前系统、时间 3. 使用定义函数与Dote()对象可以制作时钟特效 4. 使用history和location对象的相关属性和方法可以...

    BootStrap 模态框实现刷新网页并关闭功能

    hide.bs.modal,当调用 hide 实例方法时触发。 $('#identifier').on('hide.bs.modal', function () { // 执行一些动作... }) hidden.bs.modal,当模态框完全对用户隐藏时触发。 $('#identifier').on('hidden.bs....

    JS实现一次性弹窗的方法【刷新后不弹出】

    本文实例讲述了JS实现一次性弹窗的方法。分享给大家供大家参考,具体如下: &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;... ... window.o

    企业信息监控管家 v1.0.zip

    销毁窗口、最大化窗口、最小化窗口、修改标题、刷新显示 文件管理内显示以下信息: 磁盘列表、目录列表、文件列表 (全部以Windows窗口方式显示) 文件管理内包含以下功能: 查看隐藏文件、图标排列、复制文件、剪切...

    layer 刷新某个页面的实现方法

    一:使用layer.open打开的子页面 window.parent.location.reload()//刷新父页面 ...2.2 父级执行关闭 二:使用top.layer.open打开子页面 $(window.parent.document).find("iframe")[0].contentWin

    Excel VBA实用技巧大全 附书源码

    02067关闭窗口 03001通过索引引用工作表 03002通过名称引用工作表 03003通过Sheets集合引用工作表 03004引用当前活动工作表 03005引用第一个工作表 03006引用最后一个工作表 03007引用所有的工作表 03008引用指定的...

    GoHide绿色破解版(亲测可用可保存)已设置F10按键

    选中此项,用户按下隐藏热键隐藏窗口时,GoHide自动关闭计算机的声音。在窗口被恢复显示时,GoHide自动打开计算机的声音 4) 使被隐藏的程序暂停执行 选中此项,用户按下隐藏热键隐藏程序时,GoHide将使被隐藏的...

    xp系统快捷键大全下载

     刷新窗口的内容 F5  重命名项目 F2  选择所有项目 CTRL+ A  查看项目的属性 ALT+ ENTER或 ALT+双击  可将 APPLICATION键用于 Microsoft自然键盘或含有 APPLICATION键的其他兼容键 七、Microsoft放大程序的...

    用java实现的一个俄罗斯方块游戏

    程序首先创建一个TetrisGame对象,并设置游戏窗口的标题、大小、关闭方式和不可调节大小。然后创建一个面板board,用于绘制游戏板,初始化方块和游戏区域的坐标,并设置面板的布局。接着将面板添加到游戏窗口中。...

Global site tag (gtag.js) - Google Analytics