Использование HTML5 pushState () в IE9 - PullRequest
26 голосов
/ 03 апреля 2011

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

Ответы [ 2 ]

26 голосов
/ 03 апреля 2011

History.js

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

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

0 голосов
/ 14 июля 2014

Согласно документации 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-адреса / posts / new для современных браузеров, которые поддерживают историю api или / # / posts / new для более старых, таких как Internet Explorer 9 и ниже.

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

...