勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptでオブジェクトをzlib圧縮してCookieに保存できる「zcookies」ライブラリの利用方法

  JavaScript

あるシステムでCookieを保存している部分があった。ただ、日本語を保存している筈なのにブラウザの開発者ツールで確認するとランダム英数字で保存されていた。どうも「zcookies」というライブラリを使用しているようで、こちらはzlib圧縮してCookie保存⇔展開できるというライブラリみたい。以下に利用方法のメモ。

 

zcookies

GitHub

https://github.com/ukyo/zcookies

読み込み方法

CDNは無いっぽいのでこちらのページからzcookies.min.jsをダウンロードし、適当なディレクトリにアップロードすること。

特長・メリット

  • zlib圧縮されるためより多くのデータが保存できる。
  • オブジェクトをそのまま保存できる(js-cookieだとjson等に変換してから保存する必要あり)。
  • 保存されるデータの見た目がランダム英数字なので多少はセキュリティ対策になるかも?

 

利用方法

ソースコード

<script>
const data = {
    name: '田中', 
    age: 20,
};
zcookies.set('data', data); //data:"a1qSl5ibuuz5lA1PdqxdnJieKgIA"

const cookie = zcookies.get('data');
console.log(cookie); //Object { name: "田中", age: 20 }
</script>

解説等

コメントにも書いているがCookieを保存すると「a1qSl5ibuuz5lA1PdqxdnJieKgIA」というデータが保存される。展開すると元のオブジェクトして利用できる。

オプション項目

Cookie保存時のオプション項目はこちらのページを参照すること。

 - JavaScript

  関連記事

バニラJavaScriptでリッチなセレクトメニュー(プルダウン)を実装できる「Tom Select」の利用方法

先日バニラJavaScriptでリッチなセレクトメニュー(プルダウン)を実装でき ...

JavaScriptにて時間や長さの単位を変換及び計算できる「mathjs」ライブラリの利用方法

JavaScriptにて時間の単位を「分->時」に、長さの単位を「mm-& ...

JavaScriptにて「loglevel」ライブラリを利用して環境及びレベルによりログを出し分けする方法

JavaScriptにて何らかの確認の際にconsole.logを使うことが多い ...

JavaScriptにて数値の書式設定と操作を行える「Numerical.js」ライブラリの利用方法

以前JavaScriptで数値のカンマ区切り化とカンマ区切りの解除を行う方法をメ ...

JavaScriptの動画プレイヤー用ライブラリ「Plyr」の利用方法

先日JavaScriptの動画プレイヤー用ライブラリ「Video.js」を試した ...