У меня возникают проблемы с разработкой того, как начать работу с плагином BBQ в Jquery, чтобы включить поддержку перемотки вперед / назад и создания закладок на моем сайте ajax с красивыми URL-адресами.
У меня есть красивые URL для моих страниц PHP через правила apache mod_rewrite, так что http://mysite.com/store.php?cat_id=5 доступен через http://mysite.com/store/5
Эти URL-адреса, очевидно, актуальны только при доступе к php-странице напрямую через браузер, так как после того, как пользователь зашел на первую страницу, которую он посетил, и щелкнул любую из внутренних ссылок, они перехватываются моим JS, и контент обновляется. через ajax (т.е. вместо перезагрузки страницы).
Таким образом, это означает, что мои функции «назад / вперед» и «закладки» не работают, и именно здесь я прихожу на барбекю, чтобы попытаться реализовать это.
Глядя на довольно много примеров, я не могу понять, как заставить это работать с красивыми URL, так как мои теги href еще не содержат #. Мои теги href выглядят так:
<a class='cat_link' href='/store/5' data-cat-id='5'>
Нажатие на эту ссылку приводит к выполнению следующего jjery ajax-запроса:
$('#container').delegate(".cat_link", "click", function(){
$.get('/views/tileview.php',{ cat_id: $(this).data('cat-id') }, function(result){
$("#viewport").hide().html(result).fadeIn(750);
});
});
, который загружает контент ajax из /views/tileview.php с параметром GET cat_id = 5 и загружает полученный HTML-код в div #viewport.
Теперь мой вопрос заключается в том, могу ли я использовать плагин BBQ для поддержки перемотки назад / вперед и создания закладок, не изменяя свои hrefs для включения в них хэшей (т.е. с текущими URL-адресами)?
Кроме того, независимо от того, нужно ли мне изменять свои URL-адреса, как мне справиться с тем фактом, что URL-адреса симпатичны и не содержат «параметров» в смысле «? =»?
Моя текущая реализация ухудшается без JS, так что ссылки просто переводят посетителя на правильный URL, и они, по сути, видят одно и то же содержимое (хотя и с полной загрузкой страницы php вместо просто вызова ajax и обновленного div). Это то, что я хочу сохранить, получая поддержку вперед / назад и поддержку закладок.
спасибо
Аарон