请教,js如何在关闭浏览器时触发一个事件

JavaScript08

请教,js如何在关闭浏览器时触发一个事件,第1张

在浏览器关闭之前如果需要有操作的话,应该监听 window.onbeforeunload 事件。

这个事件会在页面销毁前触发(关闭标签,刷新页面等)。onbeforeunload 的返回值如果是true,那么这个会弹出提示框,询问用户是否关闭页面.

如果在页面关闭前要发出一个异步请求,没有办法保证请求一定能发送成功。因为有可能在异步操作没有执行的情况下就已经关掉了页面的进程。

window.onbeforeunload = function() {

    $.ajax( {...} )

    return true

}

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

javascript捕获窗口关闭事件有两种方法 onbeforeunload(),onUnload() 用法有两种:

1. function

window.onbeforeunload() { alert("远标培训为您关闭窗口")} function

window.onunload() { alert("远标培训为您关闭窗口")}

2.Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。

区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。

首先判断浏览器的类型,简便可用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('刷新操作')}}}