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