普段業務システムしか作らないのでcookieを使う機会ってあまりない。ってか全然ない。
なので、cookieが何かは理解していても実際使うとなった時に迷ったのでメモ。
jQueryで簡単にできそうな気配がしたのでgoogle先生に聞いてみたらありました。
まずはjquery.cookie.jsを以下よりダウンロードします。
⇒jquery.cookie.js | jQuery Plugins
ダウンロードしたファイルを適当なフォルダに入れて、head内で読み込む。
[javascript]
<script type="text/javascript" src="./js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="./js/jquery.cookie.js"></script>
[/javascript]
cookieへの書き込み
[javascript]
function setCookie() {
var COOKIE_NAME = ‘適当な名前をつける’;
var COOKIE_PATH = ‘/’;
var page_array = [];
//既にセットされていれば取り出す
if($.cookie(COOKIE_NAME)){
page_array = $.cookie(COOKIE_NAME).split("||");
}
//現在のURL取得
var dat = location.href;
//適当に制限をかける
if( $.inArray(dat, page_array) == -1) {
if ( page_array.length < 5 ) {
page_array.push(dat);
} else {
page_array.shift();
page_array.push(dat);
}
}
// パス(/)や有効期限(3日)を指定する
var date = new Date();
date.setTime(date.getTime() + ( 1000 * 60 * 60 * 24 * 3 ));
$.cookie(COOKIE_NAME, page_array.join("||"), { path: COOKIE_PATH, expires: date });
}
[/javascript]
cookieの読み込み
[javascript]
function sideCookie () {
var COOKIE_NAME = ‘CLIP_SALON’;
var page_array = [];
if($.cookie(COOKIE_NAME)){
page_array = $.cookie(COOKIE_NAME).split("||");
for (i=0; i<page_array.length; i++) {
//適当に書き込み処理とか入れる
}
} else {
ruir.html( "cookieに何もないよ" );
return false;
}
}
[/javascript]
こんな感じかな。
間違ってたらだれか教えてください。