在单页应用中,我有一个要求,我必须从浏览器历史记录中删除当前页面。我的解决方案:
location.replace(url)说明表单MDN文档:
将当前文档替换为提供的URL处的文档。该 与assign()方法的区别在于使用了replace()之后 当前页面不会保存在会话历史记录中,即用户 将无法使用“后退”按钮导航到它。
该解决方案适用于大多数浏览器,但在Webkit版本的Blackberry 6.0上中断。我的问题是有任何polyfill或解决方法,我可以编码来模仿这种行为。
答案 0 :(得分:0)
根据MDN中的文档进行了一些研究:
出于安全原因,History对象不允许使用 用于访问会话中其他页面的URL的非特权代码 历史,但它确实允许它导航会话历史。
鉴于您无法从非特权代码中真正访问历史对象,我不认为您可以做很多事情来创建一个不用于不含特色的broswers的polyfill支持location.replace()。