Vue监听关闭页面

Vue监听关闭页面

mounted() {
    window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
    window.addEventListener('unload', e => this.handleWindowClose(e));
    this.check();
  },
  beforeDestroy() {
    window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
    window.removeEventListener('unload', e => this.handleWindowClose(e));
  },
  methods: {
    beforeunloadHandler() {
      this._beforeUnload_time = new Date().getTime();
    },
    handleWindowClose(event) {
      const gap_time = new Date().getTime() - this._beforeUnload_time;
      // 只关闭时执行
      if (gap_time <= 5) {
       关闭前执行的方法
      }
    },
  1. mounted 钩子中,你添加了 beforeunloadunload 事件监听器。
  2. beforeunloadHandler 方法中,你记录了当前时间到 _beforeUnload_time 变量中,以便在稍后计算时间间隔。
  3. handleWindowClose 方法中,你计算了时间间隔 gap_time,这是当前时间和 _beforeUnload_time 之间的差值。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容