2014-02-15 2 views
0

Я видел что-то совсем другое, и я понятия не имею, как это сделать.Измените URL-адрес и сохраните div

Сайт Rdio.com, когда вы нажимаете любую ссылку, изменение URL полностью (не #). Но div в нижней части страницы (которая играет песню) не перезагружается.

Как они это делают?

ответ

2

вы можете сделать это с помощью нагрузки ajax, а затем включить историю браузера. так:

/*clickhandler Hauptmenü*/ 
$('#main-nav a').on('click', function(e){ 
    var href = $(this).attr('href'), 
     title = $(this).text(); 
    loadContent(href,title); 
    /*manipulate Browser history */ 
    history.pushState({path: href, titel: title}, $(this).attr('href'), 'http://www.example.com/'+$(this).attr('href')); 
    e.preventDefault(); 
}); 

window.addEventListener('popstate', function(e){ 
    loadContent(e.state.path, e.state.titel); 
}, false); 

function loadContent(href,title){ 
    var href = href, 
     container = $('#main-cont'); 
     container.fadeOut(100, function(){ 
      container.load(href +' #main-cont', function(){ 
       container.fadeIn(200); 
       $('title').replaceWith('<title>' + title + '</title>'); 
      });   
     }); 
}; 

Я надеюсь, что это ответ на ваш вопрос.

+0

отлично! :) Я буду использовать Modernizr.history, чтобы обнаружить так –

0

Поправьте меня, если я ошибаюсь, - учитывая, что я гавань была на их сайт - но я считаю, что они будут с использованием Iframe некоторых сортов - учитывая то, что они должны перезагрузить, что DIV если они сделали иначе

+1

нет, его не Iframe .. его действительно странно .. Я думаю, что это новая функция, которую D.Strout сказал .. Ее бесплатный radio.com, посмотрите, действительно приятно. Измените нижний div или меню с помощью Firebug или что-то, чем навигация, вы увидите –

Смежные вопросы