サーチ…


Cookieの追加と設定

次の変数は、以下の例を設定します。

var COOKIE_NAME = "Example Cookie";    /* The cookie's name. */
var COOKIE_VALUE = "Hello, world!";    /* The cookie's value. */
var COOKIE_PATH = "/foo/bar";          /* The cookie's path. */
var COOKIE_EXPIRES;                    /* The cookie's expiration date (config'd below). */

/* Set the cookie expiration to 1 minute in future (60000ms = 1 minute). */
COOKIE_EXPIRES = (new Date(Date.now() + 60000)).toUTCString();
document.cookie += 
  COOKIE_NAME + "=" + COOKIE_VALUE
  + "; expires=" + COOKIE_EXPIRES
  + "; path=" + COOKIE_PATH;

クッキーを読む

var name = name + "=",
    cookie_array = document.cookie.split(';'),
    cookie_value;
for(var i=0;i<cookie_array.length;i++) {
    var cookie=cookie_array[i];
    while(cookie.charAt(0)==' ')
        cookie = cookie.substring(1,cookie.length);
    if(cookie.indexOf(name)==0)
        cookie_value = cookie.substring(name.length,cookie.length);
    }

これにより、 cookie_valueがクッキーの値に設定されます(存在する場合)。クッキーが設定されていない場合は、 cookie_valuenull設定しnull

クッキーの削除

var expiry = new Date();
expiry.setTime(expiry.getTime() - 3600);
document.cookie = name + "=; expires=" + expiry.toGMTString() + "; path=/"

指定したname Cookieが削除されname

Cookieが有効かどうかをテストする

クッキーが使用可能になっていることを確認するには、 navigator.cookieEnabledを使用します。

if (navigator.cookieEnabled === false)
{
    alert("Error: cookies not enabled!");
}

古いブラウザでは、 navigator.cookieEnabledが存在しない可能性があり、未定義であることに注意してください。そのような場合、Cookieが有効になっていないことは検出されません。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow