此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
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 有数据变化时,此事件将被触发。 
浏览器兼容性
Loading...
备注: "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 代替。
示例扩展
- annotate-page
- favourite-colour
- forget-it
- navigation-stats
- proxy-blocker
- quicknote
- stored-credentials
- userScripts-mv3
备注:
此 API 基于 Chromium 的 chrome.storage API。该文档衍生自 Chromium 代码中的 storage.json。