Internet Explorer 支持 pushState 和 replace State 吗?

有人知道 Internet Explorer 是否支持 history.pushState()history.replaceState()方法用于 操纵浏览器历史记录?考虑到这些只是在 Firefox4中实现,我不会屏住呼吸,但是有人知道它们是否会在 IE9中实现吗?

96865 次浏览

也许浏览器兼容性信息的最佳站点是 可以用

摘要-没有IE10: 是的(截至平台预览3)

IE9的第一个候选版本(2011年2月10日发布)不支持 history. pushState 或 history. replaceState。一般来说,在产品进入 RC 阶段后不会添加新的特性,所以最终的 IE9不太可能支持这些方法。

微软有一个很好的 发展商概览的特点,IE9确实有。

更新: Internet Explorer 9发射了(2011年3月14日) ,肯定是 不支持 ABC0或 history.replaceState()

更新2: IE10仍然不支持 pushState/replaceState的当前平台预览。

更新3: IE10支持历史 API!细节的平台预览3

IE9不支持。

然而,您可以使用 Polyfill 来获得这个功能-History.js https://github.com/browserstate/history.js

现代化做了一个很好的工作,在这里列出了 HTML 5填充 https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

需要注意的是,它将在只支持 HTML4特性的浏览器中向 URL 添加一个查询字符串。

Internet Explorer 10介绍了对 HTML5草案规范历史界面的支持,其中包括允许您管理站点的历史堆栈和 URL 的方法。

原始链接: https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx

顺便说一下,在 pushState ()中,由于绝对路径的原因,可能会出现这样的错误。当我设置相对路径误差消失。