Javascript window.pushState不增加历史记录长度
我有以下代码试图操纵Javascript window.pushState不增加历史记录长度,javascript,html5-history,Javascript,Html5 History,我有以下代码试图操纵窗口。历史记录堆栈: console.log("before:" + window.history.length); window.history.pushState(null, null, '/page1'); console.log("after:" + window.history.length); 即使我正在添加一个状态,在之前的和之后的中也会打印相同的内容: before:50 after:50 为什么pushState不增加历史长度?顺便说一句,尽
窗口。历史记录
堆栈:
console.log("before:" + window.history.length);
window.history.pushState(null, null, '/page1');
console.log("after:" + window.history.length);
即使我正在添加一个状态,在之前的和之后的中也会打印相同的内容:
before:50
after:50
为什么pushState
不增加历史长度?顺便说一句,尽管我正在刷新页面,但长度始终为50
。对我来说应该是这样的:谢谢,我使用的是角度,可能是角度问题。这可能因用户代理而异。有些对历史中的元素数量有限制。From:“用户代理可以限制每页添加到会话历史记录中的状态对象的数量。”Firefox的可能副本(可能是其他浏览器)会限制历史记录的最大值。长度。在Firefox中默认为50。当长度为50时,执行.pushState()
的语义是什么?这是一个很难找到的主题,但据我所知,它有效地将条目从列表底部“推”出去,因此仍然有50个条目,但“后退”按钮做了您期望的事情。