4

Javascriptを使用してWebサイトのCookieを更新しようとしています。既存のCookieが特定の値であるかどうかを確認する必要があります。その場合は、Cookieを削除して置き換えます。

代わりに、元のCookieを削除せずに新しいCookieを追加します。

これが私のコードです

$(document).ready(function(){
if(getCookie('ref') == 'na') {
    $.cookie('ref', null, { path: '/', expires: -5 });
    $.cookie('ref', Base64.encode(document.referrer), { expires: 365 });
}

});

これが私が使用しているCookieライブラリです:https ://github.com/carhartl/jquery-cookie

私は何が間違っているのですか?

4

1 に答える 1

2

Cookieを削除するには、Cookieを削除するのとまったく同じパスとドメインを設定する必要があります。path両方の$.cookie()呼び出しでを指定します。以前のコードでが指定されている場合は、domainドメインをjQueryコードで完全に一致するものとして指定する必要があります。

$(document).ready(function() {
  if(getCookie('ref') == 'na') {
      $.cookie('ref', null, { path: '/', expires: -5 });
      $.cookie('ref', Base64.encode(document.referrer), {path: '/', expires: 365 });
  }
});

ただし、Cookieを上書きするだけの場合は、Cookieを削除する必要はありません。

$(document).ready(function() {
  if(getCookie('ref') == 'na') {
    // Just write the new cookie over the old one...
    $.cookie('ref', Base64.encode(document.referrer), {path: '/', expires: 365 });
  }
 });
于 2012-07-30T20:07:06.313 に答える