Использование навигации на основе Hash Backbone.js в IE7

StackOverflow https://stackoverflow.com/questions/5317007

  •  24-10-2019
  •  | 
  •  

Вопрос

Я строю приложение Backbone.js с хэш -навигацией. Это работает нормально везде, кроме IE7. В IE7, когда я нажимаю на ссылку, которая меняет хэш, что происходит:

  • страница меняется
  • Затем хэш возвращается к предыдущему значению
  • Страница также меняется на предыдущую страницу

Я заставил ссылки работать, добавив saveLocation Вызовы контроллеру после загрузки каждой страницы, однако, когда я использую кнопку «Назад» или перезагрузить страницу, она всегда ведет меня на домашнюю страницу вместо того, чтобы возвращаться или перезагрузить текущую страницу.

Что я могу сделать, чтобы сделать обратную кнопку и перезагрузку страницы?

Это было полезно?

Решение

Я внес несколько изменений в основу, чтобы заставить его работать для меня. Вы можете взглянуть на мое репо:

https://github.com/juggy/backbone

До сих пор работает для меня. Я не знаю, если я сломал что -нибудь еще. Я вдохновил себя на Юи и https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js .

Другие советы

У меня также была такая же проблема IE7 с вами, и я пробовал во всех отношениях (Savelocation Things, Backbone Patches и т. Д.) ... но это не сработало. Кажется, IE7 неправильно понимает при переходе через много страниц.

Моим окончательным решением было не использовать Backbone. History, а плагин истории jQuery.

http://tkyk.github.com/jquery-history-lugin/

Я знаю, что это худший обходной путь, потому что это решение опирается на другой плагин, но, к счастью, Backbone.controller просто обрабатывает маршруты и обработку состояния, которые вам не нужно использовать.

Плагин истории jQuery просто работает.

Ответ был опубликован в Backbone.js вызвал ошибку только в IE7.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top