Какая лучшая библиотека для создания хеша URL/истории в JQuery?
Я просматривал библиотеки JQuery для хеша URL, но не нашел ничего хорошего. Существует "плагин истории", но мы все знаем, что он глючит и не является гибким.
Я загружаю свои страницы внутри div. Мне понадобится способ сделать назад/вперед вместе с хэшированием URL.
mydomain.com/#home
mydomain.com/#aboutus
mydomain.com/#register
Какая лучшая библиотека может обрабатывать все это?
Ответы
Ответ 1
Недавно я просмотрел 3 разных плагина - плагин истории jquery, history и jQuery BBQ.
Их было довольно сложно настроить, я работал с jQuery.history, но у меня все еще были проблемы с IE7. Поэтому я перешел на BBQ, и он отлично работал во всех наших целевых браузерах (IE6, IE7, IE8, Fx3).
Поэтому я рекомендую плагин jQuery для BBQ.
Изменить: здесь сообщение в блоге Я только что написал, который демонстрирует jQuery BBQ с каскадным выпадающим списком.
Ответ 2
Вы пробовали адрес jQuery? От Asual, ребята, которые сделали SWFAdress. Asual - адрес jquery
Плагин JQuery Address обеспечивает мощные возможности глубокого связывания и позволяет создавать уникальные виртуальные адреса, которые могут указывать на раздел веб-сайта или состояние приложения.
Ответ 3
History.js хорошо документирован/поддерживается и поддерживает все браузеры.
https://github.com/browserstate/history.js
С сайта:
History.js изящно поддерживает API-интерфейс истории/состояния HTML5 (pushState, replaceState, onPopState) во всех браузерах. В том числе постоянная поддержка данных, заголовков, replaceState. Поддерживает jQuery, MooTools и Prototype. Для браузеров HTML5 это означает, что вы можете изменить URL-адрес напрямую, без необходимости использовать хеши. Для HTML4-браузеры вернутся к использованию старого onhashchange функциональность.
Ответ 4
Мне повезло с reallysimplehistory (nee dhtmlHistory). Это не jQuery, но он работает в IE, firefox и webkit и не требует большой настройки.
Ответ 5
Возможно, попробуйте этот плагин истории jQuery: http://www.balupton.com/sandbox/jquery-history/demo/ Он обеспечивает поддержку кросс-браузера, привязку к хэшам, перегрузку хэшей, все остальное.
Существует также расширение Ajax, позволяющее легко обновлять вашу веб-страницу в правильном приложении Ajax: http://www.balupton.com/sandbox/jquery-ajaxy/demo/ p >
Это решение, выбранное такими сайтами, как http://wbhomes.com.au/ и http://gatesonline.com.au/stage/public/
В целом, он хорошо документирован, поддерживается и богат. Здесь также был задан вопрос о награде Как показать запросы Ajax в URL-адресе?
Ответ 6
AFAIK, все плагины истории делают то же самое:
setInterval(function() {
if(theHashChanged) {
someFunction(oldHash,newHash);
}
}, 500/*whatever*/);
Это довольно ядро (минус браузерные хаки для добавления записей истории без нажатия ссылки и т.д.). Это всегда будет ошибкой, потому что это немного взломать, и нет API-интерфейсов перекрестного браузера для обработки изменений истории.
Кроме всего прочего, опыт пользователя для такого рода вещей не очень хорош. Пользователи не понимают, когда им нужно нажать кнопку "Назад" 4 раза, чтобы выйти из страницы.