Задача: реализовать загрузку контента на сайте динамически, в простонародии через аякс.
Решение:
1. Как можно выше вставляем этот код:
if ((location.hostname+location.pathname != location.hostname+'/') && (location.hash.length < 1)) {
var h ='/#'+ window.location.pathname.replace('/','');
window.location = h; }
}
Он нам нужен для того, чтобы можно было копировать и передавать ссылки. Например ссылка вида http://site.com/content/main перенаправит нас (если джаваскрипт включен) на http://site.com#content/main (что нам и требуется), с другой стороны для поисковых систем ссылка http://site.com/content/main попрежнему останется рабочей.
$(menu).attr("href", function() { return '#'+this.href.split(location.hostname+'/')[1]; });
if (window.location.hash!="#"){
$(content).load(window.location.hash.split("#")[1]+' '+content);}
else{
$(content).load("/ "+content);}
$(menu).click(function(){
var h = $(this).attr('href');
if (h!="#"){
$(content).load($(this).attr('href').split("#")[1]+' '+content);}
else{
$(content).load("/ "+content);}
});
}
Функция грузит нам необходимый контент из ссылок menu в content и меняет ссылки вида http://site.com/content/main на http://site.com#content/main
drupal_ajaxer("a","#content-inner");
});
Для тега "а" меняет все ссылки и после перехода по ним фильтрует полученый запрос от сервера до слоя "#content-inner" и вставляет результат опять же в "#content-inner".
Этот пример не рассматривает вопрос оптимизации запроса к серверу и графического оформления загрузки. НЕ стоит использовать на странице администрации! Запрос выполняется тупо на страницу сайта, а ответ фильтруется, но скорость работы при этом возрастает, да и выглядит симпатичней. Скрипт настроен для работы с чистыми ссылками.
Сапасибо за внимание. Замечанием и вопросам буду очень рад.
P.S. Буду просто счастлив, если кто-нибудь напишет скрип php к которому можно бы было отправлять запрос этим скриптом.
Комментарии
Я тоже такого хочу
Пишите ещё и подробней. Почему привязываете к nice menu?
Стили на drupal.ru включат, напишу и опишу все.
хотелось бы тоже узнать как реализовать загрузку статьи без перезагрузки страницы
если можно опишите подробнее что и как нужно настроить
P.S. стили работают в UBUNTE
PVasili интересно, а вот какой. с комментариями разобрался , хотя там и разбираться
не с чем пара модулей + тимизации на 5 минут , а вот с контентом вопрос пока открыт.
буду благодарен за указанный путь куда копать.
или лучше через VIEWS сделать
посмотрите: endless_page
Демо: http://www.paranaiv.no/blog (покрутите вниз скролинг) у меня до 600 Mb FF съел
модели там, мм, не бреют
Valeratal моде - дело сложное...
а зачем менять ссылки если можно через bind навесить обработчик click в котором делать load и возвращать false?