使用 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 博客上。