Как игнорировать первоначальную загрузку popstate при работе с pjax

Я пытался заставить кнопки браузера вперед и назад работать на небольшом сайте, используя pjax, и придумал следующий код для обработки изменений класса и постепенного появления и исчезновения различных накладки.

Однако я обнаружил, что Chrome и Safari рассматривают первоначальную загрузку страницы как всплывающее состояние, и поэтому это меня огорчает. Есть ли способ остановить это?

$(window).on("popstate", function() {
  if ($('body').hasClass('info')) {
    $('body').removeClass("info").addClass("work");
    $('.info_overlay').fadeOut(duration);
    alert('popstate');

  } else if ($('body').hasClass('work')) {
    $('body').removeClass("work").addClass("info");
    $('.info_overlay').fadeIn(duration);    

  } else {
    $('body').removeClass("project").addClass("work");
    $('.project_overlay').fadeOut(duration);
  }
});
12
задан John 25 November 2013 в 14:04
поделиться