我在window.history
对象中有此历史记录日志,其中 5 作为我的当前页面。
5) http://myapp.com/great-new-story/01242020.html
4) http://myapp.com/great-new-story/01052020.html
3) http://myapp.com/great-new-story/12012019.html
2) http://myapp.com/allnews.html
1) http://myapp.com
然后我想转到第allnews.html
页(或第 2 页(,allnews.html
会记录在第 6 页吗?
或者它不会被记录并使用(第 2 号(,因为 allnews 已经在堆栈中?
这是一个简单的实验:
-
计算历史记录的长度。
window.history.length(); //4
-
往后退几步
window.history.go(-2);
-
再次获取长度。它仍然是4!
答:
浏览历史不会增加深度。
AFAIK 它会推入一个新的,因为事实很简单,这也用于后退和前进导航按钮,所以应该是这样的,我也刚刚检查过它。 创建了一个新选项卡>打开 google.com 搜索了一些东西,基本上它重定向了,所以然后窗口.历史长度增加了, 然后在全能栏中.我写 google.com 搜索栏 - 窗口的长度再次增加。
正如我所说,它应该是用于后退和前向堆栈维护
谢谢你们的帮助,真的很感激:y::)
但是,我已经找到了问题的答案。 这是关于使用location.replace
,而不是在重定向到站点时使用location.assign
。 我发现location.replace
——
从文档历史记录中删除当前文档的 URL, 这意味着无法使用"后退"按钮进行导航 返回到原始文档。
根据W3学校。这就是为什么我开始使用Location.assign
,单击链接后,然后单击history.back
,它重定向到正确的先前站点。