js 怎么监听到页面关闭或页面跳转事件,以下介绍方法:
//在页面关闭或者跳转的时候调用
window.onbeforeunload = function (e) {
return e.returnValue = '确认关闭?'
}
window.onunload = function () {
//这个执行完onbeforeunload 会调用该function,
//alert()是不会有弹出的。
}
调用上面的代码,用谷歌浏览器关闭浏览页面或者跳转页面都会弹出下面页面询问。
注意:刷新的时候也会弹出询问,这监控也把刷新当成重新打开页面相当跳转。
在浏览器关闭之前如果需要有操作的话,应该监听 window.onbeforeunload 事件。
这个事件会在页面销毁前触发(关闭标签,刷新页面等)。onbeforeunload 的返回值如果是true,那么这个会弹出提示框,询问用户是否关闭页面.
如果在页面关闭前要发出一个异步请求,没有办法保证请求一定能发送成功。因为有可能在异步操作没有执行的情况下就已经关掉了页面的进程。
window.onbeforeunload = function() {$.ajax( {...} )
return true
}
首先判断浏览器的类型,简便可用navigator.userAgent()获取浏览器的字符串,与浏览器类型做查找即可。 目前对Chrome和firfox区分关闭和刷新成功。 浏览器为firfox时flag为false,Chrome为true。window.onload(){window.onunload = function() {if(flag){console.log('关闭操作')}else {console.log('刷新操作')}}window.onbeforeunload = function () {if(!flag){console.log('关闭操作')}else{console.log('刷新操作')}}}