javascript监控浏览器上的关闭和刷新操作
2013-10-19 10:56
253 查看
因为在后台执行了一个死循环进程,需要在退出当前界面的时候将其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:
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监听浏览器刷新或是关闭事件
- 在刷新或者浏览器关闭的时候来提示是否继续操作
- 基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
- JavaScript判断浏览器关闭或刷新代码
- 基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
- JS监控关闭浏览器操作的实例详解
- JS监控关闭浏览器操作
- 基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
- javaScript如何监听浏览器关闭事件(区别刷新事件)
- javascript可以轻松操作客户端剪贴板内容,不过只适用IE5以上浏览器。
- JS 监控页面刷新或关闭,修改URL重定向刷新
- Javascript-禁用浏览器右键和F5刷新功能
- JavaScript 判断 Chrome 内核的 360 浏览器(关闭页面并提示)
- 如何运用onunload事件判断浏览器是刷新还是关闭窗口
- JavaScript--全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)
- 关于Android设备中,网页端上传操作导致浏览器刷新的问题
- javascript--判断页面第一次加载还是刷新操作【转】
- Javascript 阻止浏览器默认操作的实现代码
- js监听浏览器,关闭,刷新(兼容IE6+,Firefox,Chrome,Safari)
- javascript关闭弹出窗口时刷新父窗口和居中显示弹出窗