vuejs中监听窗口关闭和窗口刷新事件

左手的ㄟ右手 2023-06-13 09:35 64阅读 0赞

1.使用window.onunload之类的API

window.onbeforeunload = function (e) {
e = e || window.event;

// 兼容IE8和Firefox 4之前的版本
if (e) {
e.returnValue = ‘关闭提示’;
}

// Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
return ‘关闭提示’;
};

2.在生命周期钩子中注册监听事件
methods: {
beforeunloadHandler (e) {
// …
}
}
在 mounted 钩子中注册事件

mounted() {
window.addEventListener(‘beforeunload’, e => this.beforeunloadHandler(e))
}
在 destroyed 钩子卸载事件

destroyed() {
window.removeEventListener(‘beforeunload’, e => this.beforeunloadHandler(e))
}

注意 : 在 ios 端 beforeunload 无效 需要 换成 pagehide

发表评论

表情:
评论列表 (有 0 条评论,64人围观)

还没有评论,来说两句吧...

相关阅读