1.使用window.onunload之类的API

window.onbeforeunload = function (e) {
  e = e || window.event;
 
  // 兼容IE8和Firefox 4之前的版本
  if (e) {
    e.returnValue = '关闭提示';
  }
 
  // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
  return '关闭提示';
};

2.在生命周期钩子中注册监听事件
methods: {
  beforeunloadHandler (e) {
    // ...
  }
}
在 mounted 钩子中注册事件

mounted() {
  window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
}
在 destroyed 钩子卸载事件

destroyed() {
  window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
}

 

 

注意  :  在 ios 端  beforeunload 无效  需要 换成 pagehide

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐