js 怎么监听到页面关闭或页面跳转事件

JavaScript08

js 怎么监听到页面关闭或页面跳转事件,第1张

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('刷新操作')}}}