有人知道Internet Explorer是否支持使用history.pushState()
和history.replaceState()
方法来操作浏览器历史记录吗?考虑到这些方法刚在Firefox 4中实现,我并不抱太大希望,但有人知道它们是否会出现在IE9中吗?
有人知道Internet Explorer是否支持使用history.pushState()
和history.replaceState()
方法来操作浏览器历史记录吗?考虑到这些方法刚在Firefox 4中实现,我并不抱太大希望,但有人知道它们是否会出现在IE9中吗?
查看浏览器兼容性信息的最佳网站可能是CanIUse。这里是有关历史的部分。
总结 - IE9:不支持,IE10:支持(截至平台预览版3)
IE9的第一个发布候选版(于2011年2月10日发布)不支持history.pushState或history.replaceState。一般情况下,在产品达到RC阶段后不会再添加新功能,因此最终的IE9支持这些方法的可能性非常小。
Microsoft为开发人员提供了一个有关IE9具有哪些功能的概述。
更新:Internet Explorer 9已经发布(于2011年3月14日),并且明确不支持history.pushState()
或history.replaceState()
。
更新2:目前IE10的平台预览版仍然不支持pushState / replaceState。
更新3:IE10的平台预览版3支持history API! 详情
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特性的浏览器中,它将向您的URL添加查询字符串。
顺便提一下,您可能会在pushState()的绝对路径中遇到此类错误。当我设置相对路径时,错误消失了。
Internet Explorer 10引入了对HTML5草案规范的历史接口的支持,其中包括一些方法,使您能够管理站点的历史堆栈和URL。
原始链接:https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx
history.js
,但是在我刷新页面后,我的控制台上出现了诸如“ReferenceError: jQuery未定义”的错误,大约有23个。我做错了什么吗?请帮忙! - Tsukimoto Mitsumasa