storage.local
表示local
存储区域。local
存储中的项目特定于安装扩展的机器。
浏览器可能会限制扩展程序可以在本地存储区域中存储的数据量。例如
- 在 Chrome 中,除非扩展程序具有
"unlimitedStorage"
权限,否则使用此 API 存储数据的限制为 5MB。 - 在 Firefox 中,扩展程序可以存储的数据量受与 IndexedDB 数据库相同的存储限制约束。打算存储超过此限制的数据的扩展程序需要"unlimitedStorage"权限。但是,具有“unlimitedStorage”权限的扩展程序在存储使用的磁盘空间超过全局限制时可能会收到配额已满错误。
卸载扩展程序时,其关联的本地存储将被清除。
此外,在 Firefox 中,您可以通过访问about:config
并将以下浏览器首选项设置为true
来防止浏览器在卸载时清除本地存储:"keepUuidOnUninstall"
和"keepStorageOnUninstall"
。此功能旨在帮助开发人员测试其扩展程序。扩展程序本身无法更改这些首选项。
尽管此 API 类似于Window.localStorage
,但建议您不要在扩展程序代码中使用Window.localStorage
。Firefox 会在用户出于隐私原因清除其浏览历史记录和数据等各种情况下清除使用 localStorage API 存储的扩展程序数据。使用storage.local
API 保存的数据在这些情况下会正确地保留。
方法
local
对象实现了在storage.StorageArea
类型上定义的方法
storage.local.get()
-
从存储区域检索一个或多个项目。
storage.local.getBytesInUse()
-
获取存储区域中一个或多个项目使用的存储空间量(以字节为单位)。
storage.local.set()
-
在存储区域中存储一个或多个项目。如果项目存在,则更新其值。
storage.local.remove()
-
从存储区域中删除一个或多个项目。
storage.local.clear()
-
从存储区域中删除所有项目。
事件
local
对象实现了在storage.StorageArea
类型上定义的事件
storage.local.onChanged
-
当存储区域中的一个或多个项目发生更改时触发。
扩展示例
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的chrome.storage
API。此文档源自 Chromium 代码中的storage.json
。