Internet Explorer支持pushState和replaceState吗?

有人知道如果Internet Explorer支持history.pushState()history.replaceState()方法来操纵浏览器历史吗? 考虑到这些只是在Firefox 4中实施,我不屏住呼吸,但有谁知道他们是否在IE9?

浏览器兼容性信息的最佳网站可能是CanIUse 。 这是关于历史的部分。

总结 – IE9:不IE10:是 (平台预览3)

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

微软有一个很好的IE9function的开发人员的概述 。

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

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

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

IE9不支持它。

但是,您可以使用一个使用Polyfill的工作来获得function – History.js https://github.com/browserstate/history.js

Modernizr做得很好列举HTML 5 Polyfills在这里https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

需要注意的是,它会在仅支持HTML 4function的浏览器中向您的url添加查询string。

Internet Explorer 10引入了对HTML5草案规范的历史logging界面的支持,该规范包括使您能够pipe理网站的历史堆栈和URL的方法。

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

顺便说一下,你可以在pushState()的绝对path的原因得到这样的错误。 当我设置相对path错误消失了。