浏览器关闭时弹框提醒

在开发web应用时,有些页面在用户关闭时可能需要保存用户的数据,或者提示用户防止误关

beforeunload 事件

在浏览器中我们可以监听beforeunload事件来知道浏览器即将关闭,并且可以通过给Event对象的returnValue赋值来提示弹框


window.addEventListener("beforeunload", e => {
    e.returnValue = true
})

然后我们刷新浏览器或者退出浏览器就可以看到弹框了

image
image

用处

通过监听到这个事件,我们就有机会在页面关闭前执行一段JS,来保存应用相关的数据


window.addEventListener("beforeunload", e => {
    //do some things
})

只要是同步的JS就可以完全执行,如果需要异步回调,考虑到用户可能不会留下,所以异步操作不能完全保证

同时JS不能占用太多时间,比如你用一个超大循环在哪卡之类的,浏览器如果检测到JS在一段时间内并没有正确执行,将会直接关闭页面

参考资料

window.onbeforeunload

END

2017-03-10 完成

2017-12-02 立项

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容