Пожалуйста, помогите разобраться в коде

P
На сайте с 06.01.2009
Offline
601
687

Здравствуйте.

Взял решение на одном из сайтов, а именно тут http://habrahabr.ru/post/154617/

(чтобы при jQuerry работали кнопки назад вперед сохраняем динамический контент всех просмотренных страниц в массив)


var NavigationCache = new Array();
$(document).ready(function(){
NavigationCache[window.location.pathname] = $('#content-inner').html();
history.pushState({page: window.location.pathname, type: "page"}, document.title, window.location.pathname);
});

function setPage(page) {
$.post(page, { ajaxLoad: true }, function(data){
$('#content-inner').html(data);
NavigationCache[page] = data;
history.pushState({page: page, type: "page"}, document.title, page);
})
}

$(document).ready(function(){
if (history.pushState) {
window.onpopstate = function(event) {
if (event.state.type.length > 0) {
if (NavigationCache[event.state.page].length>0) {
$('#content-inner').html(NavigationCache[event.state.page]);
}
}
}

$('.navigation-menu').live("click", function(){
setPage($(this).attr('href'));
return false;
})
}
})

Не могу понять следующее.

1.


history.pushState({page: window.location.pathname, type: "page"}, document.title, window.location.pathname);

2.


if (history.pushState) {
window.onpopstate = function(event) {
if (event.state.type.length > 0) {
if (NavigationCache[event.state.page].length>0) {

что такое event.state.type.length , почему if NavigationCache[event.state.page].length>0 , что содержит event.state.page

поясните, пожалуйста.

3. ps И глобальная проблема - у меня в подборе товаров урл бессменный, а при установке такого кода в урл добавляется номер страницы - где искать проблему?

Спасибо заранее

C
На сайте с 04.02.2005
Offline
291
#1

https://developer.mozilla.org/en-US/docs/DOM/window.history

history с описанием методов

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий