storage.managed

一个 storage.StorageArea 对象,代表 managed 存储区域。managed 存储中的项目由域管理员或安装在用户计算机上的其他原生应用程序设置,对扩展程序来说是只读的。尝试修改此存储区域将导致错误。

配置托管存储

配置托管存储的程序因浏览器而异。有关 Chrome 的说明,请参阅 “Manifest for storage areas” 文章。

对于 Firefox,您需要创建一个 特定格式和位置的 JSON manifest(原生 manifest)文件,或者使用 3rdparty 企业策略

这是一个原生 manifest 示例

json
{
  "name": "favourite-colour-examples@mozilla.org",
  "description": "ignored",
  "type": "storage",
  "data": {
    "colour": "management thinks it should be blue!"
  }
}

给定这个 manifest,favourite-colour 扩展程序可以使用类似这样的代码来访问数据

js
let storageItem = browser.storage.managed.get("colour");
storageItem.then((res) => {
  console.log(`Managed colour is: ${res.colour}`);
});

注意:在 Firefox 中,需要重启浏览器才能将 JSON manifest 或策略的更改加载到托管存储中。在其他浏览器中,更改的加载是动态的。

方法

managed 对象实现了 storage.StorageArea 类型上定义的那些方法

storage.managed.get()

从存储区域检索一个或多个项目。

storage.managed.getBytesInUse()

获取存储区域中一个或多个项目所使用的存储空间(以字节为单位)。

storage.managed.getKeys()

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

事件

managed 对象实现了 storage.StorageArea 类型上定义的那些事件

storage.managed.onChanged

当存储区域中的一个或多个项目发生更改时触发。

扩展程序示例

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.storage API。本文档源自 Chromium 代码中的 storage.json