Можно ли использовать API истории HTML5 (pushState
) в IE9?
Если будет решение для всех других браузеров, это будет здорово!
Использование HTML5 pushState() в IE9
Ответ 1
Цитата из репо:
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-адрес преобразуется соответствующим образом, если это необходимо.