jcu*_*bic 8 javascript arrays html5 html5-history
我在history.state和popstate中有数组的状态和索引数组我读了数组的内容,它工作正常但是当我回到第一页并刷新数组时(不正常)但是前进历史国家仍然.
是否可以删除使用pushState创建的虚假历史记录?
我无法将我的状态存储在localStorage中,因为我的状态数组中有函数.
如果您阅读了pushState的History API规范,则在步骤4中说明
- 如果调用的方法是
pushState()方法:
在当前条目之后删除浏览上下文的会话历史记录中的所有条目.如果当前条目是会话历史记录中的最后一个条目,则不会删除任何条目.
因此,根据您要做的事情,您可以为首次加载页面并推送状态(一个您将考虑第一个)时做出特殊情况,并在此过程中清除历史记录的前向状态.
无法清除会话历史记录或禁用非特权代码的后退/前进导航。最接近的可用解决方案是 location.replace() 方法,该方法用提供的 URL 替换会话历史记录的当前项目。 莫兹拉
唯一的方法就是这个(但我想你知道)
var length=history.length;
history.go(-length);
window.location.replace("urlToRedirect");
Run Code Online (Sandbox Code Playgroud)
使用replace()后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到该页面。
我的想法 - 覆盖整个历史:
for (i = 0; i < 50; i++) {
history.pushState({}, '');
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19637 次 |
| 最近记录: |