Window: событие pageshow

Событие pageshow отправляется Window, когда браузер отображает страницу.

Оно срабатывает в следующих случаях:

  • Первоначальная загрузка страницы
  • Переход на страницу с другой страницы в том же самом окне или вкладке
  • Восстановление состояния ранее открытой страницы на мобильных ОС
  • Возврат на страницу по кнопкам браузера "Вперёд" и "Назад"

Note: во время первоначальной загрузки страницы, событие pageshow срабатывает после события load.

Всплывает Нет
Отменяемое Нет
Интерфейс PageTransitionEvent (en-US)
Свойство обработчика события onpageshow

Примеры

Следующий пример создаёт обработчики для событий, перечисленных в массиве events. Обработчик eventLogger() выводит на консоль каждый тип произошедшего события вместе со значением флага persisted (en-US) в событиях pageshow и pagehide.

JavaScript

js
const events = ["pagehide", "pageshow", "unload", "load"];

const eventLogger = (event) => {
  switch (event.type) {
    case "pagehide":
    case "pageshow":
      let isPersisted = event.persisted ? "persisted" : "not persisted";
      console.log("Event:", event.type, "-", isPersisted);
      break;
    default:
      console.log("Event:", event.type);
      break;
  }
};

events.forEach((eventName) => window.addEventListener(eventName, eventLogger));

HTML

html
<p>
  Откройте консоль и следите за выводом данных при переходе на эту страницу и
  обратно. этой страницы. Попробуйте открыть новые страницы в текущей вкладке, а
  затем вернитесь обратно, и посмотрите, что отобразилось в консоли.
</p>

Результат

Спецификации

Specification
HTML Standard
# event-pageshow

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также