我的一个页面 http://localhost:8080/Login
用户浏览器直接输入这个地址,然后点击右上角返回,如果不是我网站过来的,就返回首页,如果是从我的网站其他页面过来的,就返回其他页面
我目前是这样处理的 window.history.length > 1 ? this.$router.back() : this.$router.push("/");
现在有个问题就是, 其他页面过来的,点返回就返回到原页面了, 如下图:
我希望这种情况是返回到我的网站的首页,这里该如何实现?
跳转带参数
你现在的判断条件是 window.history ,这个是当前tab页的历史记录总数,没得办法判断上一步是哪儿里的。
因为安全因素,浏览器应该不会开放接口让js获取整个的历史记录,只提供了上一步,下一步的功能,而无法知道具体到哪个URL去。
我建议在你的js中记录用户的访问记录,即:开始进入你的页面时,开始记录整个历史记录和当前位置,如果当前位置为你记录的第一个,那么说明上一步已经不是你的页面了,这时候才跳到你的主页。
我想到一个方法,就是 当你直接 xxx/login
那么我们带上 xxx/login?to=home
(类似) 这样否则就返回我们的网站上一个页面