問題
リファラ―のURLによって処理を分けるには?
解決策
「document.referrer」でリファラーのURLを取得し、「indexOf」で処理を分ける。
リファラーのURLを元に条件分岐する。
リファラ―のURLによって処理を分ける方法をご紹介します。
「document.referrer」でリファラーのURLを取得できる。
「document.referrer」を使用することで、リファラーのURLを取得することができます。
var referrer = document.referrer;
現在のリファラーのURL
例として、現在のリファラーのURLを以下に出力させます。
「indexOf」である値の中に特定の文字列が含まれているかを判定する。
「indexOf」を使用することで、ある値の中に特定の文字列が含まれているかを判定することができます。
'検索に掛けたい文字列'.indexOf('検索したい文字列')
返ってくる値
特定の文字列が含まれている場合 | 0以上の数値(該当した位置) |
---|---|
特定の文字列が含まれていない場合 | -1 |
記述例
実際に処理を分ける記述例は以下になります。
var referrer = document.referrer;
if(referrer.indexOf('検索したいURLのホスト名など') != -1) {
// ホスト名などがリファラーに該当している場合
} else {
// ホスト名などがリファラーに該当していない場合
}
参照
以下のサイトが、より詳しく解説してくれています。
【直前に閲覧したページのURL(リファラ情報)を得る方法 – JavaScript TIPSふぁくとりー】
https://www.nishishi.com/javascript-tips/doc-referrer.html
【Document.referrer – Web API | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Document/referrer
【String.prototype.indexOf() – JavaScript | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
コメント