普段業務システムしか作らないのでcookieを使う機会ってあまりない。ってか全然ない。
なので、cookieが何かは理解していても実際使うとなった時に迷ったのでメモ。
jQueryで簡単にできそうな気配がしたのでgoogle先生に聞いてみたらありました。
まずはjquery.cookie.jsを以下よりダウンロードします。
⇒jquery.cookie.js | jQuery Plugins
ダウンロードしたファイルを適当なフォルダに入れて、head内で読み込む。
<script type="text/javascript" src="./js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="./js/jquery.cookie.js"></script>
cookieへの書き込み
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 }); }
cookieの読み込み
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; } }
こんな感じかな。
間違ってたらだれか教えてください。