Internet Explorer是否支持pushState和replaceState?

时间:2010-09-16 00:15:22

标签: internet-explorer html5 pushstate

有人知道Internet Explorer是否支持manipulating browser historyhistory.pushState()history.replaceState()方法吗?考虑到这些只是在Firefox 4中实现,我不是屏住呼吸,但有人知道他们是否会进入IE9?

4 个答案:

答案 0 :(得分:193)

浏览器兼容性信息的最佳网站可能是CanIUse。以下是history的部分。

摘要 - IE9:否 IE10:是(截至平台预览3)

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

Microsoft拥有IE9确实具有的overview for developers个功能。

更新: Internet Explorer 9已推出(2011年3月14日),绝对不支持history.pushState()history.replaceState()

更新2:IE10 still does not support pushState / replaceState的当前平台预览。

更新3:IE10的平台预览3 支持历史记录API! Details

答案 1 :(得分:17)

IE9不支持它。

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

Modernizr在这里列出HTML 5 Polyfills https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

需要注意的是,它会在仅支持HTML 4功能的浏览器中为您的网址添加查询字符串。

答案 2 :(得分:0)

Internet Explorer 10引入了对HTML5草案规范的历史记录界面的支持,其中包括使您能够管理站点的历史堆栈和URL的方法。

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

答案 3 :(得分:0)

顺便说一句,你可以在pushState()的绝对路径中得到这样的错误。当我设置相对路径时,错误消失了。