2017-03-22 3 views
0

クッキーが手動で期限切れになるのを待つのではなく、毎月の最初のクッキーを削除することはできますか?これは、サイトを閲覧した回数に関係なく、月に一度ユーザーにメッセージを表示できるようにするためです。私はjs-cookieを使用しています。毎月最初にクッキーを削除する

+0

ウェブサイトの閲覧回数に関係なく、1か月後に有効期限が切れるようにCookieを設定できます。実行前にクッキーが既に存在するかどうかを確認するために、クッキーを作成するコードを取得するだけで済みます。だから、 'クッキーが存在しない場合は、クッキーを作成してください'。それ以外の場合は、ページが読み込まれるたびにCookieが上書きされます。 –

答えて

1

以下のコードは、現在の年と月をクッキー値として設定しています。 2017年3月の2017年の間に行われます。その後の訪問では、現在の日付と比較してCookieの値をチェックし、現在の日付が高い場合は前のCookieを削除し、現在の日付で新しいCookieを作成します。したがって、4月1日にstrDateは20174より高くなり、前のクッキーは削除され、新しい日付として設定されます。

$(document).ready(function() { 
    var d = new Date(); 
    var strYear = d.getFullYear() // cur year 
    var strMonth = d.getMonth()+1 // cur month 
    var strDate = ("" + strYear + strMonth) // year + month e.g. 20173 

    if (Cookies.get('cookieName') == null) { // cookie doesn't exist 
     Cookies.set('cookieName', strDate, { expires: 40 }) // create cookie 
     $('#modal').modal('show'); // show modal 
    } 
    else if (Cookies.get('cookieName') < strDate) { // cookie is older than 1 month 
      Cookies.remove('cookieName'); // remove cookie to reset it 
      Cookies.set('cookieName', strDate, { expires: 40 }) // create cookie 
      $('#modal').modal('show'); // show modal 
    } 
    else { 

    } 
    }); 
関連する問題