Chrome拡張機能では、データの保存・取得のために chrome.storage API を使用します。主に以下の2つのストレージエリアがあります。
1. chrome.storage.local
chrome.storage.local
概要:
-
データをローカルに保存する領域です。
-
保存されたデータは、その拡張機能がインストールされている端末にのみ存在します。
-
インターネットに接続していなくても使用可能です。
特徴:
-
保存容量が多い(約5MB以上。理論的には制限なし。ただし上限はブラウザやOSによって異なる)。
-
同期はされないため、複数の端末で同じGoogleアカウントを使っていてもデータは共有されません。
-
書き込みは高速で、大量データに向いています。
使用例:
2. chrome.storage.sync
chrome.storage.sync
概要:
-
Googleアカウントに同期されるストレージ領域です。
-
同じアカウントでログインしている他のChromeブラウザに自動的にデータが同期されます。
特徴:
-
クロスデバイスで設定や状態を共有したいときに有効です。
-
容量制限が厳しく、1つのアイテムは最大8KB、全体で100KBまで(キーごとの上限やリクエストレート制限もあり)。
-
書き込みに少し時間がかかることがあります。
-
同期はGoogleアカウントがログイン済みで、同期機能が有効なときにのみ機能します。
使用例:
比較表:
| 特徴 | chrome.storage.local |
chrome.storage.sync |
|---|---|---|
| 保存場所 | ローカル端末 | Googleアカウントに同期 |
| 容量制限 | 大(数MB〜) | 小(100KB、1アイテム8KB) |
| オフライン利用 | 可 | 可(ただし同期は不可) |
| クロスデバイス共有 | 不可 | 可能 |
| 利用シナリオ例 | キャッシュ、一時データ | ユーザー設定、テーマ、状態保存 |
補足:
-
両方のAPIは非同期で動作し、Promiseもサポートされます(
chrome.storage.local.get().then(...)のように)。 -
実際の使用では、「サイズが大きい・同期不要なら
local」「設定情報など小さくて同期したいデータはsync」と使い分けるのが一般的です。
生成日:2025/05/18