Многочисленные проблемы с pushstate: история, загрузка, вызов функций
У меня есть скрипт, который в настоящее время извлекает данные через ajax/pushstate; это работает относительно хорошо, но есть некоторые проблемы, с которыми я сталкиваюсь. Прежде всего, вот код, который я сейчас использую:
function goTo(href) {
$.ajax({
url: href,
success: function(data) {
$('#wrapper').fadeOut('fast', function(){
$(this).html(data).fadeTo('fast', 1);
$(".scroll").niceScroll({cursorcolor:"#f33d39", cursorwidth: "10px", cursorborder: "none", cursorborderradius: "0px", fixed: true});
});
// update the page title
var title = $('#page-right').find('h1').text();
$('head').find('title').text(title);
}
});
}
if (typeof history.pushState !== "undefined") {
var historyCount = 0;
$('a[href*="rage.rage-wrestling.com"]').live('click',function(){
var href = $(this).attr('href');
$('#page-load').fadeIn( 'slow' );
goTo(href);
$('#page-load').delay(2000).fadeOut( 'slow' );
history.pushState(null, null, href);
return false;
});
window.onpopstate = function(){
if(historyCount) {
goTo(document.location);
}
historyCount = historyCount+1;
};
}
Теперь код извлекает нужные мне данные и отображает их, но я сталкиваюсь с несколькими проблемами, которые пытался решить, но безрезультатно. Они заключаются в следующем:
Кнопка назад не работает в браузере.
Заголовок страниц всегда на одну страницу позади; то есть, если я нахожусь на странице с именем Cain и щелкаю ссылку, чтобы перейти к Other, когда страница загружается для Other, она отображает заголовок страницы в браузере как Cain. Кажется, истек. Это странно.
Я не могу найти хороший способ вызвать функцию ragecharts(); в этом; Я поместил его после загрузки ajax, где у меня есть nicescroll refiring для работы, но это только нарушает код. Я пробовал в функции popstate, но это тоже не работает. Мне нужно иметь возможность повторно вызвать эту функцию, потому что, когда данные загружаются на страницу и эта функция используется, они не отображают данные правильно.
Функция загрузки; Я, так сказать, подстроил его, вызывая div # page-load, вызываемый до того, как ajax извлекается как оверлей, и устанавливая задержку впоследствии, но я действительно хочу, чтобы оверлей исчез только после того, как ВСЕ OF DATA загружен внутри вызова ajax. К тому моменту, когда наложение исчезнет, нужно загрузить множество изображений, и я хочу, чтобы они оставались до полной загрузки.
Вот и все.
Я с трудом справлялся с этим настолько, насколько это возможно, но я только новичок, когда дело доходит до этого материала, так что, возможно, есть что-то, что я не вижу правильно.
Спасибо заранее, если вы можете помочь.