Ответ 1
Магистраль удаляет хеш только при включении pushState.
Измените Backbone.history.start({pushState: true});
на Backbone.history.start();
У меня есть следующая проблема. Некоторая часть моего приложения Backbone имеет URL-адрес, например:
site.ru/#profile
Когда страница загружается, URL изменяется на:
site.ru/profile
Итак, хэш был потерян. Итак, я вижу проблему в навигации по функции Backbone:
var routeStripper = /^[#\/]/;
...
var frag = (fragment || '').replace(routeStripper, '');
Как я понимаю, этот код очищает хэш в начале URL-адреса.
Действительно ли это просто удалить эту строку кода, чтобы исправить эту проблему? Не могли бы вы посоветовать мне другие способы исправить это.
ТИА!
Магистраль удаляет хеш только при включении pushState.
Измените Backbone.history.start({pushState: true});
на Backbone.history.start();
Похоже, что Backbone.js использует / и # как разделители, чтобы вытащить корневой адрес и подкаталоги. Фильтрация / требует tp stau tp получить "фрагмент". Попробуйте просто удалить # в этом RegEx, но оставите остальную часть строки там. (& оставить комментарий в коде, который вы сделали так!:)
Я также отправлю отчет об ошибке, так как он пересылает ссылку без хеша.
Имея ту же проблему и некоторые другие с нами;-) (см. проблема GitHub)
Я исправил это пока, не слушая изменения хэша, например:
Backbone.history.start({
pushState: true,
hashChange: false,
root: '/'
});
Казалось, это сработало для меня.