如何从 Vue-router 历史记录中删除(之前的条目)?

How to delete (the previous entry) from the Vue-router history?

我想删除 Vue-Router 中以前的历史条目,这可能吗?该解决方案必须在 Vue-Router 4.x 中工作,理想情况下也在 3.x 中工作。

我在这里实现的场景是用户:

 pageA -> pageA:edit -> pageB

在页面 B 上点击“后退”时,我想转至页面 A(常规,非编辑)。

我知道我可以不用 推送 到页面 A:edit 页面的历史记录,只需执行 replace .然而,感觉更自然的是,当在 A:edit 页面中返回时,您将返回到常规的非编辑页面(已经检查了 beforeUpdate 路由守卫中的更改,因此已涵盖)。

实际上,API 提到无法清除(我从中推断也无法从中删除)会话历史记录。全文:

“无法清除会话历史记录或禁用非特权代码的 back/forward 导航。最接近的可用解决方案是 location.replace() 方法,它替换了当前项提供的 URL."

的会话历史记录

https://developer.mozilla.org/en-US/docs/Web/API/Window/history

除非有人知道办法,否则我们将不得不接受这是不可能的。