有人知道Internet Explorer是否支持manipulating browser history的history.pushState()
和history.replaceState()
方法吗?考虑到这些只是在Firefox 4中实现,我不是屏住呼吸,但有人知道他们是否会进入IE9?
答案 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()的绝对路径中得到这样的错误。当我设置相对路径时,错误消失了。