vue项目监测浏览器返回按钮

2019-11-21  本文已影响0人  NingWei

简单介绍history中的操作

  1. window.history.back(),后退
  2. window.history.forward(),前进
  3. window.history.go(num),前进或后退指定数量历史记录
  4. window.history.pushState(state,title,url),在页面中穿件一个history实体。直接添加到历史记录中。参数: state:储存一个对象,可以添加相关信息,可以使用history.state读取其中的内容。title: 历史记录的标题,url:创建的历史记录rul,进行历史记录操作时会跳转到该链接。
  5. window.history.replaceState(),修改当前的history实体。
  6. popstate事件,history实体改变时触发事件
  7. window.history.state,会获得history实体中的state对象。

使用方法

取消默认的返回操作

  1. 添加一条history实体作为替代原来的history实体
mounted () {
  if(window.history&&window.history.pushState){
    history.pushState(null,null,document.URL)
    window.addEventListener('popstate', this.goBack, false);
  }
},
destroyed(){
  window.removeEventListener('popstate',this.goBack,false);
},
methods:{
  goBack(){
  this.$router.replace({path:'/'});
    //replace替换原路由,作用是避免回退死循环
  }
}
上一篇下一篇

猜你喜欢

热点阅读