インストール
# 1. ダウンロードして使う
GitHub からスクリプトをダウンロードしてスクリプトタグで読み込む
<script src="/path/to/js.cookie.js"></script>
# 2. CDNを使う
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
# 3. NPMでインストール
npm
$ npm install js-cookie --save
yarn
$ yarn add js-cookie
読み込み
import Cookies from 'js-cookie';
使い方
Cookieを保存
Cookies.set('cookie_name', 'value')
Cookies.set('idol', '星宮いちご');
期限付きのCookieを保存
Cookies.set('cookie_name', 'value', { expires: 1 })
オプションにexpires
キーワードで保存。期限のexpires
の単位は「日数」
e.g.
1週間なら { expires: 7 }
12時間なら { expires: 1/2 }
Cookies.set('one_day_idol', '紫吹蘭', {expires: 1});
パスを指定してCookieを保存
Cookies.set('cookie_name', 'value', { path: '' })
オプションにpath
キーワードでパスを渡す。パスの指定があると、そのパスは以下でのみCookieが有効になる。{path: ''}
とすると現在のページ配下で有効
Cookies.set('current_idol', '霧矢あおい', {path: ''});
Cookieを取得
Cookies.get('cookie_name')
const idol = Cookies.get('idol'); console.log(idol); // => 星宮いちご
Cookieが存在しない場合はundefined
を返す
const idol = Cookies.get('legend_idol'); console.log(idol); //=> undefined
Cookie名を指定しないCookies.get()
で保存されているCookieを{name, value}
形式のオブジェクトで取得できる ※ 取得できるものだけ
Cookies.get();
// => {idol: '星宮いちご', ,current_idol: '霧矢あおい', one_day_idol: '紫吹蘭'}
Cookieの削除
Cookie.remove('cookie_name')
Cookies.set('idle', '星宮いちご'); Cookies.remove('idle'); console.log( Cookies.get('idle') ); // => undefined
パス付きのCookieはパスが合ってないと削除できない。※ 有効なパスに居るればパス指定なしでも削除できるっぽい
Cookies.set('current_idol', '霧矢あおい', { path: '/cool' }); Cookies.remove('current_idol'); console.log( Cookies.get('current_idol') ); // => 霧矢あおい Cookies.remove('current_idol', { path: '/cool' }); console.log( Cookies.get('current_idol') ); // => undefined
簡単にCookieを操作することができました!
Cookieの有効期限をあまり短い期間で指定することって無いのかもだけど、js-cookie
は日数がデフォルトなので1日以下にしたい時、1時間なら1/24 = 0.0416666....
、30分なら1/( 24 * 2 ) = 0.0208333...
という具合に値が少数になってしまいます。
直接値を指定するなら近い数字にすれば良いと思いますが、小数点を含む計算式だと誤差(IEEE754
)が出る可能性もありますので注意が必要かなーって思いました。
Floot値にもなるから個人的には、殆どの場合intで指定できるPHPのsetcookie
みたいに秒数指定の方が良かったのではないか説。
[参考]
- GitHub - js-cookie/js-cookie: A simple, lightweight JavaScript API for handling browser cookies
- 【2018年最新版】JavaScriptプラグインjs-cookieで超簡単にクッキー管理 | Pizzamanz.net
- JavaScript IEEE754 JavaScriptの大きな数と小さな数の仕組みを理解する 〜 IEEE754入門 〜 - 風と宇宙とプログラム
- PHP: setcookie - Manual
低反発シート 1本入り クッション フルーツ 果物 リアル 夏 面白い クッション枕 [Youショップ販売品以外は注意] クッキー
- 出版社/メーカー: ノーブランド品
- メディア:
- この商品を含むブログを見る
- メディア:
- この商品を含むブログを見る