StorageArea.getKeys()

检索存储区域中所有项的键。

语法

js
let results = browser.storage.<storageType>.getKeys();

其中 <storageType> 是存储类型之一 — synclocalsessionmanaged

参数

此方法不接受任何参数。

返回值

一个 Promise,该 Promise 解析为一个包含存储项键的数组。

如果操作失败,Promise 将会以错误消息被拒绝。

如果未设置托管存储,则返回 undefined

警告:在 Firefox 中,如果扩展的托管存储未通过 原生清单 或使用 3rdparty 企业策略 进行配置,当使用此函数访问托管存储时会抛出异常(请参阅 Firefox bug 1868153)。通过捕获错误可以避免此问题。此问题与不支持 storage.managed_schema 清单键有关(请参阅 Firefox bug 1771731)。

示例

假设存储包含两个项

js
// storage contains two items, "kitten" and "monster"
browser.storage.local.set({
  kitten: { name: "Mog", eats: "mice" },
  monster: { name: "Kraken", eats: "people" },
});

检索 storage.local 中所有项的键并记录结果。

js
browser.storage.local
  .getKeys()
  .then((keys) => console.log(keys)) // [ "kitten", "monster" ]
  .catch((err) => console.error(`Error: ${err}`));

浏览器兼容性