用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件
在很多有编辑内容的页面都需要实现这个功能:
用户在点击刷新
、关闭
、离开
、关闭当前标签页
、关闭浏览器
时,提示有内容没有保存是否保存。
这个功能是通过 window
的 onunload
实现的,在用户执行上面这些操作时,就会使当前文档丢弃,也就是所谓的英文的 unload
的字面意思。
实现关闭之前的提示
如果你想在用户关闭之前提示信息,就在 onbeforeunload
方法中返回任意值,任意值都可以
不返回任何数据,浏览器就不会提示。
你就可以在这个方法中执行你需要判断的编辑,根据自己的需要设置或者不设置返回值即可。
比如:
一个在线文本编辑器,你可以在用户执行关闭时判断内容是否被修改,然后根据需要提示或者不提示。
// ()() 双括号方法是载入即执行的方法
// ES6 写法
(()=>{
window.onbeforeunload = (event) => {
return "关闭前的提示";
}
})()
// 非ES6
(function(){
window.onbeforeunload = function (event){
return "关闭前的提示";
}
})()
不同浏览器提示信息不同
目前不可自定义提示内容,Chrome
火狐
Safari
三个浏览器的提示如下: