如果角度路径的解析失败,我正在寻找不破坏浏览器后部功能的最佳方法。现在我正在做以下事情:
$location.path(lastUrls[0]);
$location.replace();
window.history.back();
虽然这可行,但我想知道是否有更好的解决方案可用。如果我的 url 历史看起来像这样:
www.example.com -> www.example.com/items -> www.example.com/items/123
如果项目 123 对该项目有解析并返回 404 错误,那么我的浏览器历史记录如下所示:
www.example.com -> www.example.com/items -> www.example.com/items
但是因为我有 window.history.back(); 调用时,浏览器位于历史记录中倒数第二项,而不是最后一项。那个 back() 调用就在那里,所以如果用户确实点击了后退按钮,他们将被带到他们期望的页面,如果我没有调用 back(),它只会把他们带回他们当前所在的页面,因为现在历史上有两个。
我这样做的方式是最好的方式还是在角度范围内有更好的方式?