需求:叉掉浏览器窗口,弹出提示,确认后才会关闭窗口
mounted() {
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
},
methods: {
beforeunloadHandler(e) {
this._beforeUnload_time = new Date().getTime()
e = e || window.event
if (e) {
e.returnValue = '关闭提示'
}
return '关闭提示'
},
}
注意:为避免意外弹出窗口,除非页面已与之交互,否则浏览器可能不会显示在beforeunload事件中创建的提示,甚至根本不会显示它们。
参考MDN关于beforeunload事件说明:Window: beforeunload event