vue2 监听关闭浏览器弹窗功能不生效?

作者站长头像
站长
· 阅读数 6

需求是在关闭浏览器的时候,保存页面输入的内容。我把方法写在了app.vue里,beforeunload的方法每个都试了,都不能让浏览器关闭的时候做出提示,请问我还是哪块没写对吗

<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>
export default {
  name: "App",
  methods: {
    beforeunload(event) {
      // event.preventDefault()
      // event.returnValue = ''
      return '确定要关闭页面吗?';
      // return false
    }
  },
  mounted() {
    window.addEventListener('beforeunload', this.beforeunload);
  },
};
</script>
回复
1个回答
avatar
test
2024-07-04
<template>
  <div id="app">
    <router-view />
  </div>
</template>

<script>
export default {
  name: "App",
  methods: {
    beforeunload(event) {
      event.returnValue = '确定要关闭页面吗?';
    }
  },
  mounted() {
    window.addEventListener('beforeunload', this.beforeunload);
  },
  beforeDestroy() {
    window.removeEventListener('beforeunload', this.beforeunload);
  }
};
</script>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容