保存・取得・削除の方法

Chrome拡張機能のストレージは、拡張機能の設定やデータを永続的に保存するために使用されます。主に chrome.storage.localchrome.storage.sync の2種類があり、ここでは一般的な 保存・取得・削除の方法 を詳しく説明します。以下のAPIは非同期で動作し、コールバック関数または**Promise(chrome.storagechrome.runtime経由でwrapするなど)**で処理されます。


1. 保存(set

構文:

javascript
chrome.storage.local.set({ key: value }, function() { // 保存完了時の処理 });

例:

javascript
chrome.storage.local.set({ username: 'masahiro' }, function() { console.log('保存されました。'); });

複数のキーと値を同時に保存することもできます。

javascript
chrome.storage.local.set({ username: 'masahiro', theme: 'dark' });

2. 取得(get

構文:

javascript
chrome.storage.local.get(['key'], function(result) { // 取得したデータは result.key でアクセス });

例:

javascript
chrome.storage.local.get(['username'], function(result) { console.log('ユーザー名は ' + result.username); });

デフォルト値を指定しておくと、該当のキーが存在しない場合にその値が返されます。

javascript
chrome.storage.local.get({ username: 'defaultUser' }, function(result) { console.log(result.username); });

3. 削除(remove

構文:

javascript
chrome.storage.local.remove('key', function() { // 削除完了時の処理 });

例:

javascript
chrome.storage.local.remove('username', function() { console.log('ユーザー名のデータを削除しました。'); });

複数のキーを削除することも可能です。

javascript
chrome.storage.local.remove(['username', 'theme']);

4. 全削除(clear

すべてのストレージデータを削除したい場合は clear() を使います。

例:

javascript
chrome.storage.local.clear(function() { console.log('すべてのデータを削除しました。'); });

注意点

  • chrome.storage.sync を使用すると、Googleアカウントでログインしているユーザー間でデータを同期できます(保存容量に制限あり)。

  • データはJSONとして保存され、オブジェクト形式での操作が基本です。

  • Promiseやasync/awaitでの操作をしたい場合は、ラッパーライブラリや chrome.storagechrome.scripting 等で包む方法があります。


必要に応じて chrome.storage.sync に変更すれば、同様の使い方が可能です。

javascript
chrome.storage.sync.set({ key: value }, function() { ... });

生成日:2025/05/18