StorageArea

refresh date: 2026-09-25 robots: noindex

chrome.storage API 會使用 StorageArea 介面。

方法

clear()

Promise
chrome.storage.StorageArea.clear(
  callback?: function,
)
: Promise<void>

從儲存空間中移除所有項目。

參數

  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • 承諾<void>

    Chrome 95 以上版本

    成功時解析,失敗時拒絕的 Promise。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

get()

Promise
chrome.storage.StorageArea.get(
  keys?: string | string[] | object,
  callback?: function,
)
: Promise<object>

從儲存空間取得一或多個項目。

參數

  • 金鑰

    string | string[] | object optional

    要取得的單一鍵、要取得的鍵清單,或指定預設值的字典 (請參閱物件說明)。空白清單或物件會傳回空白結果物件。傳入 null 即可取得儲存空間的完整內容。

  • callback

    函式 選填

    callback 參數如下:

    (items: object) => void

    • 項目

      物件

      鍵/值對應中含有項目的物件。

傳回

  • Promise<object>

    Chrome 95 以上版本

    Promise 會解析為包含所要求項目鍵/值對應的物件,或在失敗時拒絕。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

getBytesInUse()

Promise
chrome.storage.StorageArea.getBytesInUse(
  keys?: string | string[],
  callback?: function,
)
: Promise<number>

取得一或多個項目使用的空間量 (以位元組為單位)。

參數

  • 金鑰

    字串 | 字串 [] 選填

    單一金鑰或金鑰清單,用於取得總用量。空白清單會傳回 0。傳入 null 即可取得所有儲存空間的總用量。

  • callback

    函式 選填

    callback 參數如下:

    (bytesInUse: number) => void

    • bytesInUse

      數字

      儲存空間用量 (以位元組為單位)。

傳回

  • Promise<number>

    Chrome 95 以上版本

    Promise 會解析儲存空間使用的空間量,或在失敗時拒絕。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

getKeys()

Promise Chrome 130 以上版本
chrome.storage.StorageArea.getKeys(
  callback?: function,
)
: Promise<string[]>

從儲存空間取得所有金鑰。

參數

  • callback

    函式 選填

    callback 參數如下:

    (keys: string[]) => void

    • 金鑰

      string[]

      從儲存空間讀取的金鑰陣列。

傳回

  • Promise<string[]>

    Promise 會解析儲存體金鑰,或在失敗時拒絕。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

remove()

Promise
chrome.storage.StorageArea.remove(
  keys: string | string[],
  callback?: function,
)
: Promise<void>

從儲存空間中移除一或多個項目。

參數

  • 金鑰

    string | string[]

    要移除項目的單一鍵或鍵清單。

  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • 承諾<void>

    Chrome 95 以上版本

    成功時解析,失敗時拒絕的 Promise。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

set()

Promise
chrome.storage.StorageArea.set(
  items: object,
  callback?: function,
)
: Promise<void>

設定多個項目。

參數

  • 項目

    物件

    這個物件會提供每個鍵/值組合,用於更新儲存空間。儲存空間中的其他鍵/值組合不會受到影響。

    數字等原始值會按照預期序列化。含有 typeof、"object" 和 "function" 的值通常會序列化為 {},但 Array (會如預期序列化)、Date 和 Regex (會使用 String 表示法序列化) 除外。

  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • 承諾<void>

    Chrome 95 以上版本

    成功時解析,失敗時拒絕的 Promise。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

setAccessLevel()

Promise Chrome 102+
chrome.storage.StorageArea.setAccessLevel(
  accessOptions: object,
  callback?: function,
)
: Promise<void>

設定儲存空間所需的存取層級。根據預設,session 儲存空間僅限於受信任的內容 (擴充功能頁面和 Service Worker),而 managed、local 和 sync 儲存空間則允許從受信任和不受信任的內容存取。

參數

  • accessOptions

    物件

    • accessLevel

      儲存空間的存取層級。

  • callback

    函式 選填

    callback 參數如下:

    () => void

傳回

  • 承諾<void>

    成功時解析,失敗時拒絕的 Promise。

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

事件

onChanged

Chrome 73 以上版本
chrome.storage.StorageArea.onChanged.addListener(
  callback: function,
)

一或多個項目變更時觸發。

參數

  • callback

    函式

    callback 參數如下:

    (changes: object) => void

    • 變更

      物件