Javascript 为什么我的窗口的大小没有减小?

Javascript 为什么我的窗口的大小没有减小?,javascript,browser-history,Javascript,Browser History,当我访问JavaScript变量window.history.length时,会返回窗口历史的大小。当我从一页导航到另一页,然后再导航到另一页时,window.history的长度会增加。当我使用浏览器的“返回”按钮返回历史记录时,window.history的值不会减小,即使我正在返回历史记录。这是为什么?将window.history视为一个逻辑上不断增长的访问页面列表或数组。最初,只有初始页面。向前导航时,将在列表末尾添加一个新条目,window.history.length将增加一个条目

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

将window.history视为一个逻辑上不断增长的访问页面列表或数组。最初,只有初始页面。向前导航时,将在列表末尾添加一个新条目,window.history.length将增加一个条目。当您返回页面时,列表中没有先前删除的条目。取而代之的是,它仍然存在,然后你就有机会返回到你刚刚返回的页面

这意味着您不应该使用window.history的长度作为您距离开始浏览会话有多远的指示器。例如,如果window.history.length的值为5,这并不意味着如果返回3页,您将访问第2页。window.history.length表示您正向访问的页面数的长度,但不表示您当前在该列表中的位置


如果在向后导航后,您访问的转发页面与转发链中的前一个页面不同,列表将更改,长度也将更改,因为您现在无法转发以前返回的条目。

如果您返回几页,然后访问与以前不同的页面,则列表长度可能会减少。在StackOverflow上单击几次,然后检查长度。返回几页,再次检查长度,应该是相同的。单击另一个长度,它将变小。那么您将如何检查是否在堆栈的第一页?