Javascript的onbeforeunload onunload事件
简介
onunload,onbeforeunload都是在页面刷新或关闭时调用。
区别在于
- onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。
- onbeforeunload 是正要去服务器读取新的页面时调用,此时还没开始读取;
而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。
onunload事件
onunload 发生于当用户离开页面时发生的事件(通过点击一个连接,提交表单,关闭浏览器窗口等等。)
语法
直接在HTML中使用
<body onunload="SomeJavaScriptCode">
//以下 HTML 标签支持 onunload :<body>, <frameset>
JavaScript 中:
window.addEventListener("unload", function(event) { ... });
window.onunload = function(event) { ... };
浏览器兼容情况
参考:
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onunload
onbeforeunload事件
onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。
该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。
对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 “确定要离开此页吗?”。该信息不能删除。
但你可以自定义一些消息提示与标准信息一起显示在对话框。
语法
在HTML中使用
<body onbeforeunload="myScript">
JavaScript 中:
window.addEventListener(“beforeunload”,function(event){...});
window.onbeforeunload = function(event){...};
浏览器兼容情况
参考:
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload