Задача: реализовать загрузку контента на сайте динамически, в простонародии через аякс.
Решение:
1. Как можно выше вставляем этот код:
window.onload = function() {
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 попрежнему останется рабочей.
function drupal_ajaxer(menu, content){
$(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
$(document).ready(function(){
drupal_ajaxer("a","#content-inner");
});