Поддерживает ли Internet Explorer pushState и replaceState?

Кто-нибудь знает, поддерживает ли Internet Explorer методы history.pushState() и history.replaceState() для манипулирования историей браузера? Учитывая, что они просто внедряются в Firefox 4, я не задерживаю дыхание, но кто-нибудь знает, приходят ли они в IE9?

Ответ 1

Вероятно, лучшим сайтом для информации о совместимости браузера является CanIUse. Здесь раздел history.

Сводка - IE9: нет, IE10: да (начиная с предварительного просмотра платформы 3)

Первый кандидат на выпуск IE9 (выпущенный 10 февраля 2011 года) не поддерживает history.pushState или history.replaceState. Как правило, новые функции не добавляются после того, как продукт попадает на RC-сцену, поэтому очень маловероятно, что последний IE9 будет поддерживать эти методы.

Microsoft имеет хороший обзор для разработчиков об особенностях IE9.

Обновление: был запущен Internet Explorer 9 (14 марта 2011 г.) и определенно не поддерживает history.pushState() или history.replaceState().

Обновление 2: текущий предварительный просмотр платформы IE10 по-прежнему не поддерживает pushState/replaceState.

Обновление 3: Предварительный просмотр платформы 3 из IE10 поддерживает API истории Подробности

Ответ 2

IE9 не поддерживает его.

Однако вы можете использовать работу с помощью Polyfill, чтобы получить функциональность - History.js https://github.com/browserstate/history.js.

Modernizr отлично справляется с перечислением HTML 5 Polyfills здесь https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills.

Предостережение заключается в том, что он добавит строку запроса к вашему URL-адресу в браузерах, которые поддерживают только функции HTML 4.

Ответ 3

В Internet Explorer 10 представлена ​​поддержка интерфейса History спецификации HTML5, которая включает методы, которые позволяют вам управлять стеком истории сайта и URL-адресом.

Исходная ссылка: https://msdn.microsoft.com/en-us/library/ie/hh920758(v=vs.85).aspx

Ответ 4

Btw вы можете получить такую ​​ошибку по причине абсолютного пути в pushState(). Когда я установил относительную ошибку пути, исчезла.