美文网首页
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