美文网首页
VUE3 + vite 拦截浏览器后退的方法

VUE3 + vite 拦截浏览器后退的方法

作者: 爱兜圈的白茶 | 来源:发表于2023-09-12 16:05 被阅读0次

目标:取消在原页面,确认返回上一级

VUE3中代码(可在需要拦截的vue文件中,也可全局在app.vue中处理)

const onPopState = () => {

  openConfirmModal({

    title: '您还没有保存更改,确认返回吗?',

    confirm: () => {

      window.removeEventListener('popstate', onPopState)

      window.history.go(-1)

    }

  })

}

onMounted(() => {

    history.pushState(null, '', document.URL)

    window.addEventListener('popstate', onPopState, false)

})

onUnmounted(() => {

  // 在组件销毁前,移除 popstate 事件监听

  window.removeEventListener('popstate', onPopState)

})

注:router的mode必须是hash

相关文章

网友评论

      本文标题:VUE3 + vite 拦截浏览器后退的方法

      本文链接:https://www.haomeiwen.com/subject/fhxuvdtx.html