使用 Web 扩展是一种有趣的体验——您可以在使用特殊扩展 API 的同时体验 Web。一种这样的 API 是storage
——持久性的 Web 扩展风格。让我们探索如何在 Manifest V3 Web 扩展中使用session
和local
存储!
启用扩展存储
默认情况下扩展storage
API 不可用。要启用storage
API,您需要在扩展的manifest.json
文件中引用它:
{ // 更多的.... “manifest_version”:3, "name": "__MSG_appName__", “权限”:[ “贮存”, // 更多的.... ], // 更多的.... }
将storage
添加到permissions
数组(顶级manifest.json
键)为您的扩展提供session
和local
存储功能。
获取、设置和删除存储值
与传统的localStorage
和sessionStorage
API 非常相似,扩展存储提供get
、 set
和remove
操作:
// 放 等待 chrome.storage.session.set({ name: "David", color: "green" }); // 得到 const { name, color } = await chrome.storage.session.get(["name", "color"]); // 消除 等待 chrome.storage.session.remove(["name", "color"]);
需要注意的几点:
-
get
需要一个数组参数,而不是像localStorage
和sessionStorage
这样的单个值 set
必须是对象格式remove
也是一个数组,很像get
- 您可以使用
chrome.storage.local
或chrome.storage.session
取决于如何 - 所有扩展存储 API 方法都是基于 Promise 的,具有
await
或回调格式
清除所有存储
如果您想清除本地或会话存储的所有数据,有一个clear
方法:
等待 chrome.storage.session.clear();
使用clear
是有效的,但您需要确定您确实想要清除所有内容 – clear
可能会成为维护问题。
存储是大多数 Web 扩展的重要组成部分。虽然 API 很简单,但异步格式和方法名称不同。
如何在 Web 扩展中使用存储的帖子首先出现在David Walsh 博客上。