1. Mozilla
  2. 附加组件
  3. 浏览器扩展
  4. API
  5. storage

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

storage

使浏览器扩展能够储存及获取数据,以及监听储存的数据的变化。

此存储系统 API 基于 Web Storage API, 并有少许不同。

为了使用该 API,你需要在manifest.json文件包含"storage"权限。每一个浏览器扩展有自己的储存区域,每一个储存区域又分为几种不同的存储类型。

虽然此 API 类似于 Window.localStorage,但仍建议你不要在插件中使用 Window.localStorage。当用户由于隐私原因清除历史浏览记录及数据时,火狐会将在浏览器扩展使用 localStorage API 存储的数据一并清除。而使用 storage.localAPI 存储的数据将会恰当保留。

类型

storage.StorageArea

代表存储区域的对象

storage.StorageChange

代表改变一个储存区域的对象

属性

storage 有 3 个属性,每一个代表不同的存储区域。

storage.sync

表示一个同步的储存区域。在此区域的数据通过浏览器进行同步,用户可通过登录使用不同的设备访问到浏览器所有可用的实例对象。

storage.local

表示一个本地的存储区域。此区域的数据属于其所在的插件。

storage.managed

表示管理的存储区域。此区域的数据由本域名下的管理员设置且对该插件是只读的。试图修改此区域数据会得到一个错误。

事件

storage.onChanged

当 storage 有数据变化时,此事件将被触发。

浏览器兼容性

备注: "Chrome 不兼容"这部分来源于 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities 使用WebExtChromeCompat macro.

如果需要更新这部分,请编辑 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities, 然后刷新页面即可看见所做更改。

在 Edge 中的不兼容

Promises 在 Edge 中不被支持,使用 callbacks 代替。

示例扩展

备注: 此 API 基于 Chromium 的 chrome.storage API。该文档衍生自 Chromium 代码中的 storage.json

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /