这篇翻译不完整。请帮忙从英语翻译这篇文章

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

此存储系统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 Edge Firefox Firefox for Android Opera
StorageArea Yes Yes 45.0 48.0 33
StorageArea.clear Yes Yes 45.0 48.0 33
StorageArea.get Yes Yes 45.0 48.0 33
StorageArea.getBytesInUse Yes Yes No No 33
StorageArea.remove Yes Yes 45.0 48.0 33
StorageArea.set Yes Yes * 45.0 48.0 33
StorageChange Yes Yes 45.0 48.0 33
local Yes Yes 45.0 * 48.0 33
managed Yes No No No No
onChanged Yes Yes 45.0 48.0 33
sync Yes No 53.0 53.0 No

Edge incompatibilities

Promises are not supported in Edge. Use callbacks instead.

Chrome incompatibilities

None.

Example add-ons

Acknowledgements

This API is based on Chromium's chrome.storage API. This documentation is derived from storage.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

文档标签和贡献者

 此页面的贡献者: wangtonghe
 最后编辑者: wangtonghe,