注意:区分不了浏览器是触发了刷新还是关闭,而且提示的弹框是无法自定义的;如果有大佬有方法能区分,还请评论学习一下!感谢!
代码可直接复制:
<template><div><div /></div>
</template><script>
export default {mounted () {window.addEventListener('beforeunload', this.beforeunloadHandler)/*这里需要注意一下,在vue里我们调用methods的方法经常使用的是this.clickFun(),但是在这里不需要括号,这里不需要括号,这里不需要括号*/},destroyed () {// 销毁监听事件window.removeEventListener('beforeunload', this.beforeunloadHandler)},methods: {beforeunloadHandler (e) {console.log(e, '刷新或关闭会触发 但不知道是属于刷新还是关闭')e = e || window.event// 兼容IE8和Firefox 4之前的版本if (e) {e.returnValue = '关闭提示'}// Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+return '关闭提示'}}
}
</script><style>
</style>