document.referrer によってページの飛び先を変更したい
リファラー(参照元)を取得して、例えば検索エンジンで
「電卓」と検索して訪れた人はcalc.htmlに、
「デンタク」と検索して訪れた人はdentaku.htmlに、
「dentaq」と検索して訪れた人はabout.htmlに、それぞれ飛び先を変更したいという場合。
var keywords= [ { id:'01', keyword: '電卓', url :'calc.html' }, { id: '02', keyword: 'デンタク', url :'dentaku.html' }, { id: '03', keyword: 'dentaq', url :'about.html' } ]; function load(){ //リファラー(参照元)情報を取得 var ref = document.referrer; //0〜キーワード数(keywords.length)の間ループ処理する for(var i=0; i<keywords.length;i++){ //キーワード文字列を配列から取得 var str = keywords[i].keyword; //キーワード文字列をURLエンコード var encstr = encodeURI(str); //URLエンコードしたキーワードを正規表現オブジェクトに変換 var pattern = new RegExp(encstr); //URLエンコードしたキーワードがリファラー(参照元)と一致したら対応するurlへ飛ばす if(ref.match(pattern)) location.href=keywords[i].url; } }; //ロード時に実行するイベントリスナーを追加 (function(){ if(document.addEventListener){ // opera,safari,mozilla向け document.addEventListener("DOMContentLoaded", load, false); } else if(window.attachEvent){ // IE向け window.attachEvent("onload",load); } else { window.onload = load; } })();
上記スクリプトをheaderのなるべく読み込みが早い行に配置します。
キャンペーン用のランディングページなどで使用シーンがあるかと思います。