Я не могу для жизни меня фигурировать, почему функция успеха срабатывает дважды. Это необходимо сделать только один раз из-за перехода на следующую страницу. Эта проблема, похоже, влияет только на веб-браузеры safari/chrome. Firefox работает так, как предполагается. Он не срабатывает дважды, если я вынимаю строку, которая говорит removeClass.Успех Ajax запускается дважды в webkit
//Page Loader Variables
var ajaxPageRequest;
var ajaxPageLoading = false;
function getPage(url) {
//Checks to see if transition is complete before changing pages
$('.pageContent, .loadbar').addClass('init');
var newPage = $('#pageContent');
newPage.one('oTransitionEnd transitionEnd webkitTransitionEnd',
function(e) {
if (ajaxPageRequest) {
ajaxPageRequest.abort();
ajaxPageRequest = '';
}
replacePageContent(url);
}
);
}
function replacePageContent(ajaxPageAddress) {
if (ajaxPageRequest) {
ajaxPageRequest.abort();
ajaxPageRequest = '';
}
ajaxPageLoading = true;
ajaxPageRequest = $.ajax({url: ajaxPageAddress, async: true, cache: false})
.success(function(ajaxPageData) {
ajaxPageRequest = '';
if (ajaxPageLoading) {
ajaxPageLoading = false;
console.log('load complete' + ": " + ajaxPageAddress);
if (ajaxPageData) {
if (ajaxPageAddress != window.location) {
//add the new page to the window.history
window.history.pushState({
path: ajaxPageAddress
}, '', ajaxPageAddress);
}
$("#pageContent").html($(ajaxPageData).find("#pageContent > *")).removeClass('init');
$('#pageContent, .loadbar').removeClass('init');
}
}
});
}
Как срабатывает 'replacePageContent'? –