storage.local

表示 local 儲存區域。local 儲存中的項僅限於擴充套件安裝的計算機。

瀏覽器可能會限制擴充套件在本地儲存區域中儲存的資料量。例如

  • 在 Chrome 中,擴充套件程式使用此 API 儲存的資料量限制為 5MB,除非它具有 "unlimitedStorage" 許可權
  • 在 Firefox 中,擴充套件程式可以儲存的資料量受應用於 IndexedDB 資料庫的 儲存限制。打算儲存超出此限制的資料的擴充套件程式需要 "unlimitedStorage" 許可權。但是,具有 "unlimitedStorage" 許可權的擴充套件程式在儲存使用的磁碟空間超過全侷限制時,可能會收到配額超出錯誤。

解除安裝擴充套件程式時,其關聯的本地儲存將被清除。

此外,在 Firefox 中,您可以透過訪問 about:config 並將以下瀏覽器首選項設定為 true 來阻止瀏覽器在解除安裝時清除本地儲存:"keepUuidOnUninstall""keepStorageOnUninstall"。此功能旨在幫助開發人員測試他們的擴充套件程式。擴充套件程式本身無法更改這些首選項。

儘管此 API 與 Window.localStorage 類似,但建議不要在擴充套件程式碼中使用 Window.localStorage。Firefox 在使用者出於隱私原因清除瀏覽歷史記錄和資料等各種情況下會清除擴充套件程式使用 localStorage API 儲存的資料。使用 storage.local API 儲存的資料在這些情況下會得到正確持久化。

方法

local 物件實現了 storage.StorageArea 型別上定義的方法

storage.local.get()

從儲存區域檢索一個或多個專案。

storage.local.getBytesInUse()

獲取儲存區域中一個或多個專案所使用的儲存空間(以位元組為單位)。

storage.local.getKeys()

檢索儲存區域中所有專案的鍵。

storage.local.set()

將一個或多個專案儲存到儲存區域。如果專案已存在,則更新其值。

storage.local.remove()

從儲存區域中移除一個或多個專案。

storage.local.clear()

移除儲存區域中的所有專案。

事件

local 物件實現了 storage.StorageArea 型別上定義的事件

storage.local.onChanged

當儲存區域中的一個或多個專案發生更改時觸發。

擴充套件程式示例

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.storage API。本文件源自 Chromium 程式碼中的 storage.json