繁体   English   中英

用于location.replace()的Polyfill

[英]Polyfill for location.replace()

在单页面应用程序中,我有一个必须从浏览器历史记录中删除当前页面的要求。 我使用的解决方案:

location.replace(url) 描述表单MDN文档:

用提供的URL中的文档替换当前文档。 与Assign()方法的区别在于,使用replace()之后,当前页面将不会保存在会话历史记录中,这意味着用户将无法使用“后退”按钮导航到该页面。

该解决方案可在大多数浏览器上使用,但在Blackberry 6.0的Webkit版本上无法使用。 我的问题是,有没有我可以编码的任何polyfill或解决方法来模仿这种行为。

根据MDN中的文档,对此进行了一些研究:

出于安全原因,History对象不允许非特权代码访问会话历史记录中其他页面的URL,但允许它浏览会话历史记录。

鉴于您实际上无法从非特权代码访问历史对象,因此我不认为可以为不支持location.replace()的浏览器创建Polyfill。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM