--- title: 'Window: pageshow イベント' slug: Web/API/Window/pageshow_event tags: - API - Document - Event - History - Navigation - Page - PageTransitionEvent - Reference - Window - pageshow - show - イベント - ナビゲーション - ページ - 履歴 translation_of: Web/API/Window/pageshow_event ---
{{APIRef("HTML DOM")}}

pageshow イベントは、操作によってブラウザーがウィンドウの文書を表示したときに {{domxref("Window")}} へ送られます。これには以下のようなものがあります。

最初にページを読み込んでいる間、 pageshow イベントは {{domxref("Window/load_event", "load")}} イベントの後で発生します。

バブリング なし
キャンセル 不可
インターフェイス {{domxref("PageTransitionEvent")}}
イベントハンドラープロパティ {{domxref("Window.onpageshow", "onpageshow")}}

この例は配列 events の中に列挙されたイベントのイベントハンドラーを設定します。ハンドラーである eventLogger() は、発生したイベントの種類と、 {{domxref("PageTransitionEvent.persisted", "persisted")}} フラグの値を pageshow および pagehide イベントの場合に含めてコンソールに出力します。

JavaScript

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

<p>コンソールを開き、このページに出入りしたときの出力を見てください。
このタブに新しいページを読み込んだり、履歴で前後に移動したりして、
イベントのログへの出力を見てください。</p>

結果

{{EmbedLiveSample("Example", 640, 250)}}

仕様書

仕様書 状態 備考
{{SpecName('HTML WHATWG', 'browsing-the-web.html#event-pageshow', 'pageshow')}} {{Spec2('HTML WHATWG')}} 初回定義
{{SpecName('HTML5 W3C', 'browsers.html#event-pageshow', 'pageshow')}} {{Spec2('HTML5 W3C')}}

ブラウザーの互換性

{{Compat("api.Window.pageshow_event")}}

関連情報