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