如何从Chrome扩展服务工作者使用IndexedDB

cgfeq70w  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(257)

我正在“愉快地”将我的一些Chrome扩展重新构建到MV 3。但是我被卡住了,因为我不知道如何从服务工作者使用IndexedDB。更具体地说,我还没有找到任何从JS服务工作者脚本访问IndexedDB的工作示例。
对于this page,我曾经这样打开一个数据库:

var idb = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
var dbName = "DatabaseName";
var open = idb.open(dbName, 1);

但众所周知,MV 3中的服务人员再也无法访问 window
简单地说,背景页面为扩展作者提供了一个独立于任何其他窗口或选项卡的环境。
(请访问:)
我该怎么做?
感谢您的帮助、时间和耐心。周末愉快!

o4tp2gmn

o4tp2gmn1#

答案比我想象的要简单。indexedDB在service worker中使用时已经定义好了,不需要与window对象相关,它是现成的。

var dbName = "DatabaseName";
var open = indexedDB.open(dbName, 1);

我会留下这个问题,以防其他人有同样的疑问。

相关问题