Fieds_labo1

js-クッキー

最終更新:

fieds_labo1

- view
管理者のみ編集可

javascript クッキー


1.クッキー
  • 書き込み
setDay = new Date();
setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
expDay = setDay.toGMTString();
document.cookie = theName + "="+escape(theValue)+";expires="+expDay+";path=/";
  • 読み込み
theCookie = document.cookie+";";
start = theCookie.indexOf(theName);
if (start != -1){
end = theCookie.indexOf(";",start);
theData = unescape(theCookie.substring(start+theName.length,end));
}
  • 削除
document.cookie = theName + "=;expires=Thu,01-Jan-70 00:00:01 GMT;path=/";

2.GET
  • location.search;
  • 現在のURLの?以降を返す。?を含む。
  • unescape(value); で?name=valueのvalue値をアンエスケープ。

3.クッキーについて
  • ブラウザのURL欄に javascript:document.cookie; と入れると現在のクッキーの状態が見える。
  • クッキーの最後にPATH指定をする。PATHがスコープ範囲になる。共用型レンタルサーバ時注意。
  • IE6とFFOX1.5、OPERA8の違いは、クッキーのパス指定が無い場合、IEはルート扱いになり、FFOXとOPERAは当該パスになる。
  • 1ドメイン環境では、PATH=/を指定すること。
  • 1サイト(1ドメイン)クッキー数20個。;で区切り。(名前=値の組合わせで20個)
  • 各クッキーは最大4K。
  • ただし、OPERAで複数クッキー使用時に、各クッキーの保存最大長が少なくなる現象が確認されているため、保存データは短い方が良い。
  • クッキーはちゃんと削除する。期限まかせにしない。
  • グーグル解析はクッキーを7個も使用する。
  • クッキー情報のエンコードに標準のescape()を使用しているため、ブラウザならびに一定環境において文字化けが発生するケースがある。
  • 複数の情報をクッキーに保存する時はまとめて1個のクッキーしたほうがいいかも。
  • 例:list=a|b|c<>d|e|f<>g|h|i;
  • 上記例はブロック区切り<>、項目区切り|にしてクッキーとしては1個。

4.iframeとcookieとsecurity






記事メニュー
目安箱バナー