Я только начал играть с sammy.js, и первое, что я хочу сделать, это проверить, как работают изменения истории. И он работает так, как ожидалось, даже лучше, но как только я открываю IE10 и переключаюсь в режим браузера IE9, все рушится. Если я не устанавливаю ссылки с хешем, IE9 просто продолжает следовать ссылкам. Та же проблема с IE8, конечно.Маршрутизация приложения knockout.js с Sammy.js и история с поддержкой html4
На данный момент у меня только этот кусок кода, связанный с Сэмми
App.sm = $.sammy('#content', function() {
this.get('/', function(context) {
console.log('Yo yo yo')
});
this.get('/landing', function(context) {
console.log('landing page')
});
this.get('/:user', function(context) {
console.log(context)
});
});
и инициатор
$(function() {
App.sm.run('/');
});
Я также смотрел на эту example, который содержит три типа ссылок, нормальные, хэш и снова нормальные, но корректно работают на IE9 и IE8. что заставляет меня думать, что каким-то образом должно быть возможно сделать sammy.js поддержку html5 history и html4 в одно и то же время.
Так что мой вопрос будет, как я могу это достичь?
Update
я нашел способ заставить его работать на IE
Я просто добавил этот фрагмент:
this.bind('run', function(e) {
var ctx = this;
$('body').on('click', 'a', function(e) {
e.preventDefault();
ctx.redirect($(e.target).attr('href'));
return false;
});
});
Во всяком случае, я все еще возникают проблемы с входом в веб-сайт, поддерживающий браузер html5, всегда перенаправляется на домен.com, независимо от исходного URL-адреса.
Так что мне интересно, как я должен настроить sammy.js для работы peroperly. Или, может быть, кто-то может порекомендовать какой-нибудь другой маршрутизатор, который будет хорошо работать с knockout.js.