用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件

用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件

在线测试例子: http://kylebing.cn/test/unload-event/

在很多有编辑内容的页面都需要实现这个功能:
用户在点击刷新关闭离开关闭当前标签页关闭浏览器时,提示有内容没有保存是否保存。

这个功能是通过 windowonunload 实现的,在用户执行上面这些操作时,就会使当前文档丢弃,也就是所谓的英文的 unload 的字面意思。

实现关闭之前的提示

如果你想在用户关闭之前提示信息,就在 onbeforeunload 方法中返回任意值,任意值都可以
不返回任何数据,浏览器就不会提示。

你就可以在这个方法中执行你需要判断的编辑,根据自己的需要设置或者不设置返回值即可。

比如:
一个在线文本编辑器,你可以在用户执行关闭时判断内容是否被修改,然后根据需要提示或者不提示。

// ()() 双括号方法是载入即执行的方法

// ES6 写法
(()=>{
    window.onbeforeunload = (event) => {
      return "关闭前的提示";
}
})()

// 非ES6
(function(){
    window.onbeforeunload = function (event){
      return "关闭前的提示";
    }
})()

不同浏览器提示信息不同

目前不可自定义提示内容,Chrome 火狐 Safari 三个浏览器的提示如下:

用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件_第1张图片

用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件_第2张图片
用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件_第3张图片

你可能感兴趣的:(#,JS)