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错误消失了。