cookieを手軽に扱えるようになるjQueryのプラグイン「jquery.cookie.js」の使い方をメモ。
jquery.cookie.jsのダウンロードは下記サイトから行えます。
carhartl/jquery-cookie GitHub
cookieの設定
まず、jQuery本体とjquery.cookie.jsを読み込み。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="./jquery.cookie.js"></script>
cookieを設定するには以下のように記述します。
$.cookie('name', 'value');
第1引数にcookieの名前、第2引数に保存したい値を指定します。
オプションで何か指定する場合。
$.cookie( 'name2', 'value2', { expires: 7, path: '/', domain: 'cly7796.net' } );
オプションでは以下の設定ができます。
expires | cookieを保存する日数を設定。 |
---|---|
path | cookieを使用するパスを指定。(‘/’でドメイン全体。) |
domain | cookieを使用するドメインを指定。 |
secure | 「https」のときにだけCookieを送信。true / false |
cookieの取得
cookieを取得するには以下のように記述します。
$.cookie('name'); // 'value'
第1引数に取得したいcookieの名前を指定します。
このとき、指定したcookieがない場合はundefinedを返します。
そのページで設定しているcookieすべて取得したい場合。
$.cookie(); // { 'name': 'value', 'name2': 'value2' }
cookieの削除
cookieを削除するには以下のように記述します。
$.removeCookie('name');
この時、正しく削除された場合はtrue、失敗した場合はfalseを返します。
パスを指定して削除する場合。
$.removeCookie('name2', { path: '/' });
サブドメイン間でのcookieの利用
例えば、下記のようなサブドメイン間でcookeを扱いたい場合
http://sub01.cly7796.net
http://sub02.cly7796.net
$.cookie('name', 'value', { domain:'.cly7796.net' });
domainの値は完全一致ではなく部分一致で判別しているようなので、
このようにドメインの前に「.」をつけることで、サブドメイン間でもcookieを扱えるようになります。
cookieを使用したサンプル
アクセスが1回目かどうかをcookieを使って判別するサンプル。
cookie使用のサンプル
コメントが承認されるまで時間がかかります。