前提・実現したいこと
index.html(以下、A)にある「エントリーボタン」を押してfinish.html(以下、B)に行き,
Bにある「戻るボタン」を押して再びAに戻るとエントリーボタンが非表示になっている。
かつ
一度エントリーした人(Bを訪れた人)にはどこからAにアクセスしても「エントエリーボタン」を非表示にさせたい。
▼index.html A(エントリーボタン部分)
<div class="entry-btn"><a href="dummy">エントリーする</a></div> コード
▼finish.html B(indexに戻るボタン部分)
<div class="cp-back"><a href=index.html"?id=test25">キャンペーンに戻る</a></div>
▼JS
// URLのパラメータを取得 var urlParam = location.search.substring(1); // URLにパラメータが存在する場合 if(urlParam) { // 「&」が含まれている場合は「&」で分割 var param = urlParam.split('&'); // パラメータを格納する用の配列を用意 var paramArray = []; // 用意した配列にパラメータを格納 for (i = 0; i < param.length; i++) { var paramItem = param[i].split('='); paramArray[paramItem[0]] = paramItem[1]; } // パラメータidがtest25かどうかを判断する if (paramArray.id == 'test25') { $('.entry-btn').css('display', 'none'); } else { $('.entry-btn').css('display', 'block'); } }
試したこと
上記のやり方だと
Bの戻るボタンのURLをパラメーター付きにしておけば
Aのエントリーボタンは消えるのですが
少し経ってまたパラメータのついていないURLなどからアクセスした時にcookieを残していないとAのエントリーボタンが表示されてしまうので
cookieを残したいです!
初心者のためよくわからず、説明も不足しているかと思いますがよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
jquery-1.11.3.min.js