Подтвердить что ты не робот

Использование HTML5 pushState() в IE9

Можно ли использовать API истории HTML5 (pushState) в IE9? Если будет решение для всех других браузеров, это будет здорово!

4b9b3361

Ответ 1

History.js

Цитата из репо:

History.js изящно поддерживает API-интерфейсы истории/состояния HTML5 (pushState, replaceState, onPopState) во всех браузерах. Включая постоянную поддержку данных, названий, replaceState. Поддерживает jQuery, MooTools и Prototype. Для браузеров HTML5 это означает, что вы можете изменить URL-адрес напрямую, без необходимости использовать хеши. Для браузеров HTML4 он вернется к использованию старой функции onhashchange.

Ответ 2

Согласно документации Ember об истории api: http://emberjs.com/api/classes/Ember.Location.html

Браузеры, поддерживающие API истории, будут использовать HistoryLocation, те, которые этого не делают, но все же поддерживают событие hashchange, будут использовать HashLocation, а в редком случае ни один из них не поддерживает использование NoneLocation.

App.Router.map(function() {
  this.resource('posts', function() {
    this.route('new');
  });
});

App.Router.reopen({
  location: 'auto'
});

Это приведет к публикации posts.new url of/posts/new для современных браузеров, которые поддерживают историю api или /#/posts/new для более старых, таких как Internet Explorer 9 и ниже.

Когда пользователь посещает ссылку на ваше приложение, он автоматически обновляется или понижается до соответствующего класса Location, при этом URL-адрес преобразуется соответствующим образом, если это необходимо.