Изменения в поведении Firefox при использовании функции History-Back - PullRequest
0 голосов
/ 06 сентября 2018

У меня проблема с Firefox. У нас есть несколько страниц на нашем сайте, время загрузки которых составляет 2-3 секунды. Если щелкнуть ссылку на эти страницы, в тело страницы будет добавлен класс, который меняет макет.

Я заметил, что если вы используете кнопку возврата истории в Firefox, страница загружается, а класс добавляется в тег body. В Chrome макет как будто страница только что загружена.

Я уверен, что Firefox имел то же поведение, что и Chrome. Но повторите этот шов, чтобы петь. У меня есть миниатюрный скрипт для иллюстрации проблемы:

<html>

  <head>

    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script>
    
    <script>
    $( document ).ready(function() {
        $('a.withWaitscreen').on({
            click:  function() { $("body").addClass("waiting");waitscreenCountdownInit();  }
        });
        $('button.withWaitscreen').on({
            click:  function() { $("body").addClass("waiting"); waitscreenCountdownInit();  }
        });
        $('form.withWaitscreen').on({
            submit:  function() { $("body").addClass("waiting"); waitscreenCountdownInit();  }
        });
    });
    </script>

    <style>
      .waiting{
        background-color: red;
      }
    </style>

  <body  >

  </body>

  <a class="withWaitscreen" href="https://www.google.com/">
  test
  </a>

</html>

Если вы щелкнете по тестовой ссылке в Firefox и нажмете кнопку «назад» в браузере, страница будет красной. Если вы сделаете то же самое в Chrome, страница будет белой.

Что вызывает эту разницу в поведении? И как это может измениться?

1 Ответ

0 голосов
/ 07 сентября 2018

Я решил проблему, добавив в JS-часть файла следующее:

$( window ).unload(function() {
  return "";
});	

Я не уверен, почему это работает, но оно дает желаемый эффект. (По крайней мере, в Firefox 62.0)

...