为什么我的window.history的大小不会减少?

时间:2014-11-03 03:58:35

标签: javascript browser-history

当我访问JavaScript变量window.history.length时,我返回了窗口历史记录的大小。当我从一个页面向前导航到另一个页面然后导航到另一个页面时,window.history的长度会增加。当我使用浏览器返回按钮返回历史记录时,window.history的值不会减少,即使我正在回溯历史记录。这是为什么?

1 个答案:

答案 0 :(得分:3)

window.history视为逻辑增长的列表或访问过的网页数组。最初,只有初始页面。向前导航时,会在列表末尾添加一个新条目,window.history.length增加一个。当您返回页面时,列表会删除您之前删除的条目。相反,它仍然存在,然后你有机会前进(回到你刚刚回来的页面)。

这意味着你不应该使用window.history的长度来指示你从浏览会话开始的距离。例如,如果您的window.history.length的值为5,那么意味着如果您返回3页,则您将访问您访问的第2页。 window.history.length表示您向前访问过的网页数量的长度,但没有说明您当前 在该列表中的位置。

如果在向后导航后,您访问的前向页面与前向链中的前一页不同,则列表将被更改,因此您现在无法转发访问条目的长度也会更改你以前从那里回来了。