Показать сообщение отдельно
  #1 (permalink)  
Старый 27.05.2015, 12:51
Новичок на форуме
Отправить личное сообщение для vertigo Посмотреть профиль Найти все сообщения от vertigo
 
Регистрация: 20.12.2013
Сообщений: 6

Не работает кнопка "Назад" в браузере. История URL. Backbone.
Всем привет,

у меня имеется одна страница, с которой можно осуществить переход на другую страницу с передачей параметров (&paramone=val&paramtwo=val....).

Конечная страница, получив набор НЕОБХОДИМЫХ параметров с нужными значениями, дополняет URL недостающими параметрами, которые устанавливаются в дефолтное значение.

Например, я точно хочу вывести все продукты производителя Apple. В этом случае я передаю:

Код:
?manufacturer=apple.
Получив этот линк, конечная страница дополняет строку еще и, например, цветов и типом устройства, получая на выходе:

Код:
?manufacturer=apple&color=black&type=player.
Проблема в том, что мне надо как-нибудь подменить в истории изначальную ссылку вида:

Код:
site.com?param=val
на конечную полную ссылку, вида:

Код:
site.com?param=val&param=val&param=val
затем, чтобы заработала кнопка "Назад". Сейчас она не работает - оно и понятно. Ведь сначала в историю попадает запись с одним набором параметров, потом дополняется уже другим.

Всё это необходимо сделать средствами backbone.

Предугадывая вопрос, говорю: нет, я не хочу просто формировать сразу нормальную полную ссылку - количество параметров может меняться и лезть каждый раз в код не очень хочется. А хочется универсальное решение, при котором я открываю страницу с нужными параметрами, линк дополняется оставшимися, а в истории я имею одну запись и одним кликом могу вернуться на предыдущую страницу.

В описании к backbone я нашел Backbone.history.navigate(url,{replace: true}), которое вроде бы должно подойти, однако конечный линк формируется неверно и имеет вид аля:

Код:
site.com/http:site.com?param=val&...
Ответить с цитированием