勉強したことのメモ

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でtableタグをエクセルファイル(xlsx)としてダウンロードさせる方法
JavaScriptでtableタグをエクセルファイル(xlsx)としてダウンロードさせる方法

table内のデータを何らかのファイルでダウンロードさせたい。通常PHPでCSV ...

HTMXで指定ページ内の指定要素を取得及び出力する方法サンプル
HTMXで指定ページ内の指定要素を取得及び出力する方法サンプル

あるサイトのHTMLタグ内に「hx-〇〇」という見慣れないタグが記述されていた。 ...

サイトをダークモード対応させる「Darkmode.js」ライブラリの利用方法
サイトをダークモード対応させる「Darkmode.js」ライブラリの利用方法

サイトをダークモード対応させる場合、CSSで色々指定しないといけないと思っていた ...

PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法
PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法

サイト内で一部テキストのGoogle翻訳を行いたい。ただ、Google Clou ...

JavaScriptのHTTPクライアントライブラリ「AXIOS」の使い方
JavaScriptのHTTPクライアントライブラリ「AXIOS」の使い方

あるサイトのソースコードを拝見しているとAXIOSというJSファイルをCDN呼び ...