vue实现浏览器关闭或刷新弹窗提示(beforeunload/unload)
在Vue中,可以通过在组件的mounted
和beforeDestroy
生命周期钩子中使用原生JavaScript的window.addEventListener
和window.removeEventListener
来实现。
以下是一个简单的示例:
export default {
mounted() {
window.addEventListener('beforeunload', this.showWarning);
},
methods: {
showWarning(event) {
const warning = '你确定要离开吗?';
event.returnValue = warning; // 兼容性设置
return warning;
}
},
beforeDestroy() {
window.removeEventListener('beforeunload', this.showWarning);
}
}
在这个示例中,当用户尝试关闭或刷新浏览器时,会触发beforeunload
事件,从而显示一个警告提示用户。在组件销毁之前,我们需要移除这个事件监听器,以避免在其他组件中产生不必要的行为。
评论已关闭