HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOMのPageTransitionEvent(ページ遷移イベント)とは?プロパティ・種類・サンプルコードを解説

DOMのPageTransitionEventは、ユーザーがWebページ間を移動(ナビゲーション)した際に発生するイベントです。ページの表示・離脱を検知できるため、キャッシュの状態確認やページ遷移時の処理を実装したい場合に活用できます。

PageTransitionEventオブジェクトのプロパティ

PageTransitionEventオブジェクトには、以下のプロパティが用意されています。

プロパティ説明
persistedWebページがブラウザにキャッシュされているかどうかに応じて、trueまたはfalseを返します。

PageTransitionEventオブジェクトに属するイベントの種類

PageTransitionEventには、次の2種類のイベントが含まれます。

イベント説明
pagehideユーザーが現在のWebページから別のページへ移動した(ページを離れた)ときに発生します。
pageshowユーザーがWebページにアクセスした(ページが表示された)ときに発生します。

実装例

ここで、PageTransitionEventオブジェクトを使った具体的なサンプルコードを見てみましょう。

<!DOCTYPE html>
<html>
<head>
<style>
   body{
      text-align:center;
      color:#fff;
      background: #ff7f5094;
      height:100%;
   }
   .btn{
      background:#0197F6;
      border:none;
      height:2rem;
      border-radius:2px;
      width:35%;
      margin:2rem auto;
      display:block;
      color:#fff;
      outline:none;
      cursor:pointer;
   }
</style>
</head>
<body>
<h1>DOM PageTransitionEvent Event Demo</h1>
<button onclick="checkPage(event)" class="btn">Click me</button>
<script>
   function checkPage(event) {
      if (event.persisted) {
         confirm("Page was cached by the browser");
      } else {
         confirm("Page was not cached by the browser");
      }
   }
</script>
</body>
</html>

コードの解説

このサンプルでは、ボタンがクリックされると checkPage() 関数が呼び出されます。関数内ではイベントオブジェクトの persisted プロパティを判定し、ページがブラウザによってキャッシュされている場合は「Page was cached by the browser」、されていない場合は「Page was not cached by the browser」というメッセージを確認ダイアログで表示します。

実行結果

上記のコードを実行すると、次のような画面が表示されます。

HTML DOMのPageTransitionEvent(ページ遷移イベント)とは?プロパティ・種類・サンプルコードを解説

Click me」ボタンをクリックすると、そのページがブラウザにキャッシュされているかどうかを確認できます。

HTML DOMのPageTransitionEvent(ページ遷移イベント)とは?プロパティ・種類・サンプルコードを解説

まとめ

  • PageTransitionEventは、ページ間の移動時に発生するイベントである。
  • pagehideはページから離れるとき、pageshowはページが表示されるときに発火する。
  • persistedプロパティを使うことで、ページがキャッシュから読み込まれたかどうかを判定できる。
  1. HTML DOM Ulオブジェクトとは?<ul>要素の操作方法とサンプルコードを解説

    HTML DOM の Ul オブジェクトは、HTML の <ul>(順序なしリスト)要素を表すオブジェクトです。JavaScript を使うことで、リストの動的な生成や操作が可能になります。 <ul> 要素の作成方法 新しい <ul> 要素を作成するには、document.createElement() メソッドを使用します。 var ulObject = document.createElement(UL) HTML5で非推奨となったプロパティ ulObject には以下のプロパティが存在しますが、これらは HTML5 ではサポートされていないため注

  2. HTML DOM Event typeプロパティとは?イベントの種類を取得する方法を実例付きで解説

    HTML DOM Event typeプロパティとはHTML DOMのEvent typeプロパティは、発生したイベントの種類に対応する文字列を返すプロパティです。「click」「keypress」「load」「touchend」など、さまざまなイベントタイプを取得できます。構文イベントの種類を文字列として取得するには、以下のように記述します。event.typeそれでは、Event typeプロパティの具体的な使用例を見ていきましょう。使用例以下のサンプルでは、赤い円形の要素に対して「クリック」または「タッチ」が行われた際に、event.typeでイベントの種類を判定しています。イベントの種