Почему событие загрузки не срабатывает при нажатии кнопки «Назад/Вперед», в результате чего загрузчик остается видимым?Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Гость
 Почему событие загрузки не срабатывает при нажатии кнопки «Назад/Вперед», в результате чего загрузчик остается видимым?

Сообщение Гость »


У меня есть веб-страница с загрузчиком, и я использую JavaScript, чтобы контролировать, когда ее следует отображать и скрывать. Загрузчик изначально отображается при загрузке страницы с помощью функции showLoader, а также он должен отображаться, когда пользователь уходит со страницы с помощью кнопок назад/вперед.

Чтобы управлять навигацией по кнопкам «Назад/Вперед», я использую прослушиватель событий beforeunload для вызова функции mustShowLoader. Эта функция проверяет, можно ли отменить событие, а затем планирует запуск функции showLoader после небольшой задержки (50 миллисекунд). Вот соответствующий фрагмент кода:

document.addEventListener("DOMContentLoaded", function () { const loaderWrapper = document.querySelector(".loader-wrapper"); функция showLoader() { loaderWrapper.classList.remove("скрытый"); } функция скрытьLoader() { loaderWrapper.classList.add("скрытый"); } функция должнаShowLoader(событие) { const cancelable = event.cancelable; если (isValid(отменяемо)) { setTimeout (showLoader, 50); } } функция isValid (formElement) { вернуть formElement !== null; } // Изначально показываем загрузчик шоуЗагрузчик(); window.addEventListener("load",ideLoader); window.addEventListener("beforeunload", mustShowLoader); }); В моем браузере все работало нормально, но в некоторых браузерах при нажатии кнопки «Назад/Вперед» beforeunload будет вызван вызов события и показ загрузчика, а мой загрузчик останется видимым. Событие load не будет вызвано. Я пытался использовать событие **popstate **, но это все равно видимый загрузчик.

window.addEventListener("popstate", function () { если (history.state === null) { // Скрываем загрузчик скрытьЗагрузчик(); } }); Я хочу решить эту проблему. Как это исправить. Будем очень признательны за любые идеи или предложения о том, как правильно запустить загрузчик при использовании кнопок «Назад» и «Вперед».

Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»