Fly higher! Sky is the limit!

webの現場で働く人のブログ

【JavaScript】2回目に訪れたユーザーに何かしたいとき。

データーベースで制御することも可能ですが、フロント側だけでやるのであれば、Cookieで制御するのがよいかと思います。

cookieで制御してみる - サンプルソース

//Cookie取得
var checkCookie = document.cookie;

//Cookie内に【XXX】という文字列があるかないか判定。
if(checkCookie.match("XXX")){
  /* =====================================
    2回目の訪問したときの処理
  ========================================*/
  
  console.log("2回目ですね。")

}else{
  //Domain名取得
  var domain = document.domain;
  //Cookieの内容を格納
  var visitorCookie = "visitorCookie=XXX; domain="+domain+"; path=/;"
  //Cookieに書き込み
  document.cookie = visitorCookie;
  /* =====================================
    1回目の訪問したときの処理
  ========================================*/
  
  console.log("1回目ですね。")
  
}

Cookieを取得しその中に1回目に訪れた時のCookieがあるかないかを判定して、無ければ初回の訪問、あれば2回目の訪問として処理を行う。
上記のソースの場合、cookieの有効期限は、セッション限り(ブラウザを閉じるまで)になっている。

Cookieを保持させたい場合は、以下のように指定

var visitorCookie = "visitorCookie=XXX; max-age=秒; domain="+domain+"; path=/;"

<例>半年の場合

var visitorCookie = "visitorCookie=XXX; max-age=15552000; domain="+domain+"; path=/;"