HTML5 sessionStorage或chrome.存储的Chrome扩展

HTML5 sessionStorage or chrome.storage for Chrome Extension?

本文关键字:Chrome 扩展 存储 chrome sessionStorage HTML5      更新时间:2023-09-26

我有一个Chrome扩展,这只是一个内容脚本。我想保留一些在内容脚本中计算的数据,这样我就可以在浏览时轻松访问它,而不必在每个页面上重新计算它。我只需要为会话存储数据。

我在看铬。存储API,但似乎数据将在会话结束后保存在那里。我以前有使用HTML5 sessionStorage的经验,但我觉得我应该在这里利用谷歌的API。

任何输入是赞赏的,谢谢!

在内容脚本中,使用sessionStorage将访问和修改该站点的sessionStorage,而不是您的扩展。

你必须使用chrome.storage.local,如果你想让它对其他网站的内容脚本可用,并避免破坏网站。

没有自动清除chrome.storage.local数据,但您可以创建一个事件页面,在启动时清除它。

manifest.json:

"background": { "scripts": [ "background.js" ], "persistent": false }

background.js:

chrome.runtime.onStartup.addListener(function() {
 chrome.storage.local.clear()
})

chrome.storage.local.clear

chrome.runtime.onStartup

事件页

作为Chrome 102+现在有一个基于会话的存储API的Chrome扩展。它将数据存储在内存中。

https://developer.chrome.com/docs/extensions/reference/storage/property-session