クッキーを使うスクリプトです。
フォームに適当な値を入れて試してください。
よくわからない人は、クッキーを書き込んでいったんブラウザを
終了させ、もう一度サンプルページを見てください。
先ほど書き込んだデータが有効なのがわかります。
日本語も扱えます。
・サンプルを見る
・ソースを保存する (右クリック→「対象をファイルに保存」or「リンクを名前を付けて保存」して下さい。)
・ソースを見る ・解説を見る
[ ソース ]
<html><head>
<script language="JavaScript">
<!--//Copyright (C) WEST MiRa http://www.west-mira.jp
kikan=90;
my_name="1";
my_datas=new Array();
my_datas2=new Array();
my_name="WEST_MiRaCookie"+my_name;
function DataRead()
{
if(document.cookie.length>0 && document.cookie.indexOf(my_name)!=-1)
{
my_datas=document.cookie.split("; ");
for(i=0; i<my_datas.length; i++)
{if(my_datas[i].indexOf(my_name)!=-1)break;}
my_datas2=my_datas[i].split("=");
my_datas2[1]=unescape(my_datas2[1]);
}
return my_datas2[1];
}
function DataWrite(datas)
{
jikann=new Date();
ima=new Date(jikann.getTime()+(kikan*24*60*60*1000));
datas=escape(datas);
document.cookie=my_name+"="+datas+";expires="+ima.toGMTString();
return;
}
//-->
</script>
</head>
<body>
・
・
・
</body></html>
[ 解説 ]
上から5行目の
kikan=90;
に、クッキーの有効期限を書いて下さい。
有効期限は日数をお書き下さい。
例えば
3日なら「kikan=3;」
1ヶ月ならば「kikan=30;」
と言うようにお書き下さい。
もしこのスクリプトを複数のページで使う場合は、
必ず上から6行目の「my_name="1";」に、クッキーの名前をご記入下さい。
1つのページでしか使わないなら、変更せずにそのまま利用して大丈夫です。
この際、名前が他のページで使用している名前と重複しないようご注意下さい。
また、名前は3文字程度の短いものにしましょう。
例えば「1.html」でクッキーを使い、「2.html」でもクッキーを使っている場合。
「1.html」で「my_name="1";」と指定した場合は、
「2.html」で「my_name="2";」とのように、名前を変更してください。
利用方法は、クッキーを書き込む際は
DataWrite(CookieData);
と言うようにしてください。
変数CookieData内に、クッキーに書き込む内容を代入してください。
反対にクッキーを読み込む時は、
CookieData=DataRead();
のようにして下さい。
この時読み込まれたクッキーの内容は、変数CookieDataに代入されています。
[ 数値データについて ]
数値データをクッキーに覚えさせて利用する場合は、注意が必要です。
クッキーから取り出されたデータは文字列として認識されている為、
数値として扱うためにはまずevalしてやって下さい。
例
CookieData=DataRead();
CookieData=eval(CookieData);
このようにすれば、数値として認識されます。
[ 複数データについて ]
複数のデータをクッキーに書き込みたい時も、利用するクッキーは一つにしてください。
1つのサイトで幾つもクッキーを書き込むのはユーザーの迷惑です。
で、実際にどうするかと言うと、複数データを、間に適当な区切り文字を挟んで一つの変数に連結してやります。
その変数をクッキーに書き込めば、一つのクッキーで用が足ります。
読み込んで分割して利用する時は、
SplitData=new Array();
SplitData=CookieData.split("区切り文字");
とすれば、配列SplitData内に区切り文字を
パターンとして文字列が分割されて入ります。
|