戻るボタンやサイト内移動の判別方法

以下に示すJavaScriptのコードスニペットは、戻るボタンの使用やサイト内での移動を判別するためのものです。この情報は、例えばオープニングスキップなどの機能に利用できます。

var ref = document.referrer;
var hereHost = window.location.hostname;

var sStr = "^https?://" + hereHost;
var rExp = new RegExp( sStr, "i" );

if( ref.length == 0 ) {
        // リファラーなし
}
else if( ref.match( rExp ) ) {
  if (window.performance) {
    // console.log(performance.navigation.type);
    if (performance.navigation.type === 0) {
      // TYPE_NAVIGATE
      // サイト内から読み込み
    }
    else if (performance.navigation.type === 1) {
      // TYPE_RELOAD
      // リロード読み込み
    } 
    else if (performance.navigation.type === 2) {
      opening_skip = true;
      // TYPE_BACK_FORWARD
      // 戻るによる読み込み
    }
    else {
      // TYPE_RESERVED	
    }
  }
  else {
  }
}
else {
}

このコードは、ユーザーがサイト内で移動したか、ページを再読み込みしたか、あるいは戻るボタンを使用したかを判別します。それぞれの状況に応じて異なる処理を実行することが可能です。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール