我们的单页应用程序使用自定义路由器。我们使用history.replaceState(...)替换无效的URL和有效的URL。
网址看起来像......
http://domain.com/#view=employee/details¶m1=1¶m2=2
当需要更换无效网址时,我们致电
history.replaceState(null, null, "#view=employee/details¶m1=11¶m2=22");
但是上面的代码不断添加到浏览器历史记录中。我做错了什么?
答案 0 :(得分:0)
replaceState会将条目添加到浏览器历史记录中(如果该条目尚不存在)。如果它已经存在,它将" REPLACE"它,基本上它将采用较旧的条目并使用当前时间戳替换它。
如果您的目标是不在浏览器历史记录中添加任何条目,那么使用JavaScript是不可能的。
如果问题是浏览器历史记录中的那些条目加载了生成404错误的页面,则必须监视popState并显示相应的页面,否则您将创建虚假URL。