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。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

get()

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

从存储空间中获取一个或多个内容。

参数

  • 密钥

    字符串 | 字符串 [] | 对象 可选

    要获取的单个键、要获取的键列表或指定默认值的字典(请参阅对象说明)。空列表或空对象将返回空结果对象。传入 null 以获取存储空间的全部内容。

  • callback

    函数可选

    callback 参数如下所示:

    (items: object) => void

    • 项目

      对象

      包含键值对映射中的项的对象。

返回

  • Promise<object>

    Chrome 95 及更高版本

    Promise,成功时会解析为包含所请求项的键值对映射的对象,失败时会拒绝。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getBytesInUse()

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

获取一个或多个内容使用的空间量(以字节为单位)。

参数

  • 密钥

    字符串 | 字符串 [] 可选

    要获取总用量的单个密钥或密钥列表。空列表将返回 0。传入 null 可获取所有存储空间的总用量。

  • callback

    函数可选

    callback 参数如下所示:

    (bytesInUse: number) => void

    • bytesInUse

      数值

      存储空间中正在使用的空间量(以字节为单位)。

返回

  • <number>

    Chrome 95 及更高版本

    Promise,在成功时解析为存储空间的使用量,在失败时拒绝。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

getKeys()

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

从存储空间中获取所有密钥。

参数

  • callback

    函数可选

    callback 参数如下所示:

    (keys: string[]) => void

    • 密钥

      字符串[]

      包含从存储空间读取的密钥的数组。

返回

  • Promise<string[]>

    Promise,在成功时解析为存储键,在失败时拒绝。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

remove()

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

从存储空间中移除一个或多个内容。

参数

  • 密钥

    string | string[]

    要移除的内容的单个键或键列表。

  • callback

    函数可选

    callback 参数如下所示:

    () => void

返回

  • 承诺<void>

    Chrome 95 及更高版本

    在成功时解析或在失败时拒绝的 Promise。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

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。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

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。

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

事件

onChanged

Chrome 73 及更高版本
chrome.storage.StorageArea.onChanged.addListener(
  callback: function,
)

当一个或多个内容发生更改时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (changes: object) => void

    • 更改

      对象