javascript监控浏览器上的关闭和刷新操作
来源:互联网 发布:移动数据管理软件 编辑:程序博客网 时间:2024/05/18 00:43
因为在后台执行了一个死循环进程,需要在退出当前界面的时候将其kill,所以需要在关闭浏览器和刷新时调用函数执行操作
onunload和onbeforeunload 事件是在用户退出页面时(关闭页面或刷新页面)发生,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无 法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到
且在页面卸载之前引发onbeforeunload事件,如果选择“确定离开”将引发onunload事件,若取消,则不做任何操作,故我的操作是:
window.onbeforeunload = onbeforeunload_handler;
window.onunload = onunload_handler;
function onbeforeunload_handler(){
var warning="您确认是否要退出当前页面?";
return warning;
}
function onunload_handler(){
$.get(url , {'c':'interface','a':'start'} , function( data ) {
}); //传递参数并调用PHP中的函数操作,来kill死循环进程
}
附1:如果需要区别刷新和关闭页面的操作,可以参考http://blog.csdn.net/laoxiao1987/article/details/9007571
附2:
NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindow.alert]
在参照网上查找的资料,在 function onunload_handler()函数中,添加了代码alert(warning),结果在firebug中显示上面的问题,将alert代码注释掉后就没有问题了,查找了资料,网上的说法有:
1.因为onunload函数是在body已经关闭后才调动的,所以如果使用alert的话(alert父窗口是body)就会报错或不显示
2.firfox连续弹出相同的值的框,会报一个“阻止此页面创建其他对话框的提示”
个人觉得第一种解释更符合我代码的情况,如果您阅读了该篇文章,且遇到相同的问题或者您有其他解释,希望能多多交流,谢谢
- javascript监控浏览器上的关闭和刷新操作
- JS监控关闭浏览器操作
- 判断浏览器刷新和关闭
- JavaScript判断浏览器关闭或刷新代码
- 监视浏览器的刷新和关闭:Onunload与Onbeforeunload
- Flex刷新当前页面和关闭浏览器
- JAVASCRIPT捕获IE的刷新按钮和关闭按钮
- JAVASCRIPT捕获IE的刷新按钮和关闭按钮
- Extjs监听浏览器刷新、关闭和窗口关闭功能
- 在刷新或者浏览器关闭的时候来提示是否继续操作
- javaScript如何监听浏览器关闭事件(区别刷新事件)
- js判断浏览器的关闭标签动作和刷新的事件
- JS 监控页面刷新,关闭 事件的方法
- js监控IE火狐浏览器关闭、刷新、回退、前进事件
- js监视浏览器关闭和刷新(兼容)
- JavaScript笔记(浏览器上--操作DOM)
- 转:用Javascript来关闭IE浏览器和FireFox浏览器
- 转:用Javascript来关闭IE浏览器和FireFox浏览器
- SD卡升级——SDIO IAP实验
- RDBMS Database Patchset Patch Numbers
- uginx增加IP白名单的方法
- ffmpeg编译后没有ffplay
- 数据集DataSet
- javascript监控浏览器上的关闭和刷新操作
- 一个支持40万并发用户的即时通讯架构介绍
- 浅谈android的跑马灯效果(文字滚动)
- jquery实现在页面上实现tr排序并后台处理详解
- Android WIFI 架构和控制流程
- 识别浏览器的JavaScript引擎的方法
- 在JAVA中封装JSONUtils工具类及使用
- 使用sigmaGrid实现分页、打印等功能
- visual stdio 项目文件解释