Опыт работы с Javascript History Framework - PullRequest
8 голосов
/ 18 марта 2009

Я ищу фреймворк истории javascript для обработки навигации по странице, когда пользователь выбирает несколько параметров, которые изменяют поведение страницы.

На странице есть несколько артефактов, которые изменяют загрузку данных на странице, и я хотел бы сохранить это как набор стеков поведения. В более широком смысле, я хотел бы добавить это как набор инструментов для моих будущих веб-проектов по тем же причинам.

Я пишу в основном в ASP.NET с JQuery, но пока что я очень беспокоюсь о JQuery. Я пишу другие проекты на PHP, Python и Perl (в зависимости от концерта), поэтому он должен быть независимым от платформы.

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

Так что, если у вас есть опыт работы с историческими фреймворками, обработкой кнопки возврата (и т. Д.) В Ajax, я хотел бы услышать о том, что вы использовали и как это сработало. Это действительно помогло бы мне сделать окончательный выбор в отношении библиотеки.

Спасибо

S

Ответы [ 4 ]

4 голосов
/ 18 марта 2009

Недавно у меня была похожая проблема при создании сайта только для flash. Мы попробовали:

1 голос
/ 27 июля 2010

jQuery History - мой предпочтительный выбор. Его можно найти здесь: http://www.balupton.com/projects/jquery-history/ Обеспечивает поддержку кросс-браузера, привязку к хешам, перегрузку хешей, все остальное.

Существует также расширение Ajax для него, называемое jQuery Ajaxy, позволяющее легко модернизировать вашу веб-страницу до нужного приложения Ajax без необходимости изменений на стороне сервера и оставаться дружественным для SEO и JS-инвалидов: http://www.balupton.com/projects/jquery-ajaxy/

В целом они хорошо документированы, поддерживаются и многофункциональны. Они также выиграли вопрос о вознаграждении здесь Как показать запросы Ajax в URL?

1 голос
/ 18 марта 2009

Может быть этот вопрос полезен для вас. В вопросе я ссылался на тестовую страницу, где location.hash используется для отслеживания истории. В настоящее время я использую этот метод на тестовой площадке и испытываю проблемы с Opera (усекает значение location.hash в вопросительном знаке, вам придется использовать: location.href.split(/#/)[1]) и, конечно, IE (требуется iframe) В IE с iframe история сохраняется только для текущего сеанса. Если вы загрузите другую страницу в том же окне / вкладке и нажмете кнопку «Назад», чтобы вернуться на страницу AJAX, предыдущая история будет потеряна. Это не так уж важно для меня, но может быть раздражает. Я понял, что история IE8 должна работать так, как и ожидалось с location.hash, у нее даже должен быть обработчик hashchange.

Я думаю, что большинство фреймворков используют один и тот же метод (мониторинг location.hash на предмет изменений, используя iframe для IE). Я не хотел использовать фреймворк, потому что я использую свой собственный небольшой фреймворк, а обычные фреймворки содержат слишком много функциональности, которую я никогда не буду использовать.

0 голосов
/ 16 мая 2016

Dial.js - это фреймворк истории браузера JavaScript, разработанный для предоставления некоторых функций полноценного фреймворка MVC с jQuery и History.js для одностраничных приложений (SPA).

...