技術情報
[05] Cookieを使う
保存されたクッキーは document.cookie で取得できます。
取得される文字列は 「変数名1=値1; 変数名2=値2; ...」の形式で返されます。
「;」と「=」で文字列をsplitして各値を取り出すようにします。
また、値はescape関数やencodeURIComponentメソッドでエンコードした場合は、それぞれunescape関数、decodeURIComponentメソッドでデコードしなければなりません。

[コード例]
// Cookie中の指定した変数名の値を取得
function getCookie(strParam)
{
var i;
var ck;
var strSD;

if (document.cookie)
{
ck = document.cookie.split("; ");

for (i = 0; i < ck.length; i++)
{
strSD = ck[i].split("=");
if (strSD[0] == strParam)
{
return decodeURIComponent(strSD[1]);
}
}
}
}


[Cookieの書込]
クッキーに値を保存するには、

document.cookie = "変数名1=値1; 属性11=属性値11; ..."
document.cookie = "変数名2=値2; 属性21=属性値21; ..."
...

の形式で変数名毎に書き込んで行きます。
値1や値2にはescape関数やencodeURIComponentメソッドでエンコードした文字列をセットします。
また、属性には以下のようなものがあり、有効期限などを設定します。
有効期限を設定しない場合は、ブラウザを閉じるとその時のクッキーの値は削除されます。

属性 説明
path クッキーが有効なパスを設定します。
domain クッキーが有効なドメインを設定します。
max-age クッキーの有効期限を秒数で設定します。
expires クッキーの有効期限を日時で設定します。日時は、日付オブジェクトのtoUTCStringメソッドの戻値をセットします。
secure httpsでのみクッキーを使用するかどうかを示す真偽値を設定します。

[コード例]
// Cookieに値を書き込む
function setCookie(strParam, strValue)
{
var strData = "";
var expdate = new Date();
expdate.setTime(expdate.getTime() + 24 * 3600 * 1000); // 1日後を期限とする

if (document.cookie)
{
strData = strParam + "=" + encodeURIComponent(strValue) + "; ";
document.cookie = strData + "expires=" + expdate.toUTCString();
}
}