Есть ли какой-то способ, как объединить хэш и не-хэша адреса в приложении Backbone.js?Объединить хэш и не хэш URL-адреса в Backbone.js
Я установил Backbone.history.start({pushState: true})
. Когда пользователь нажимает на какую-либо ссылку, я получаю данные JSON с сервера, страницу обновления и вызываю Backbone.history.navigate
для изменения URL-адреса в браузере (например, от example.com/zlinsky/kampan/mf/
до example.com/moravskoslezsky/kampan/mf/
).
Если пользователь скопирует URL-адрес из браузера и откроется во второй вкладке, он увидит ту же страницу (поэтому каждая обновленная страница имеет соответствующую страницу на сервере). Это именно то, чего я хочу.
Но теперь у меня есть проблема ...
У меня есть несколько <select>
на странице тоже. Когда пользователь меняет в них значение, я делаю некоторые динамические изменения на странице (без извлечения JSON с сервера, обновления выполняются только на стороне клиента). Я хотел бы изменить URL-адреса в соответствии с <select>
, например, example.com/moravskoslezsky/kampan/mf/#state1
(так, если кто-то отправит этот URL-адрес, другая сторона увидит ту же страницу, в том же состоянии, что и отправитель).
Я не мог найти способ, как это сделать в Backbone.js. Если я установил pushState: true
на Backbone.history
, Router
игнорировать хэш-теги.
Если я установил pushState: false
, я не могу установить URL-адреса, как описано выше в первом абзаце.
Благодарим за любые намеки.
в состоянии решить этот вопрос вы были? я столкнулся с той же проблемой. когда pushState истинно, я не могу использовать URL-адреса маршрута, содержащие хеш-часть; хэш просто полностью игнорируется. – Fedor