Я сделал полный беспорядок прямо сейчас.Я обновил до Backbone.js 0.9.1, обновил до URL-адресов с косой чертой и начал использовать pushstate:true
.Спустя 5 дней я тестирую свое приложение на IE9, и URL-адреса просто не привязываются к странице, на которую они ссылаются.
Я сделал что-то вроде этого:
main.html
<a href="/signup">Do Signup</a>
Браузер переходит к mydomain.com/signup
на секунду, затем возвращается к main.html с URL mydomain.com/#signup
.
Возвращение к pushstate:true
действительно решает проблему простых ссылок, но разбиваетвещи, в которых я определил, что маршрутизатор должен иметь такие маршруты, как ...
SignupRouter = Backbone.Router.extend({
routes: {
'signup': 'signup',
'signup/:key': 'confirm'
}, initialize: function() {
// do some stuff here
}, signup: function() {
// signup view
}, confirm: function() {
// confirm view
}
});
Если я не использую pushstate, мне придется вернуться к стратегии создания отдельного маршрута для каждой страницы и загрузки на основе маршрутизатора.на серверной переменной (я знаю, очень примитивно):
SignupRouter = Backbone.Router.extend({
initialize: function() {
// signup view
}
});
ConfirmSignupRouter = Backbone.Router.extend({
initialize: function() {
// confirm view
}
});
Есть ли какой-нибудь дружественный для IE способ сделать это (IE7 ~ 9)?Какой-то обходной путь на стороне сервера?Что-нибудь?