Vue监测标签页关闭(非刷新)

问题描述

Vue中实现关闭标签页前向其他页面发送消息时需监听页面关闭操作

相关代码

created() {
            window.addEventListener('beforeunload', this.beforeunloadHandler)
            window.addEventListener('unload', this.unloadHandler)
        },
beforeDestroy() {
          window.removeEventListener('beforeunload', this.beforeunloadHandler)
          window.removeEventListener('unload', this.unloadHandler)
        },
methods: {
            beforeunloadHandler(){
             // 可能不会支持全部浏览器
              this.beforeUnload_time = new Date().getTime();
            },
            unloadHandler(){
              this.gap_time = new Date().getTime() - this.beforeUnload_time;
              //判断是窗口关闭
              if(this.gap_time <= 5){
                // 页面关闭前的逻辑
              }
            },
}

在网上搜索到这样的逻辑,但发现偶尔监测不到页面关闭,不知道大家有没有遇到这种问题?
对页面关闭的监听还有什么有效方法吗??

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题