在 Firefox Web 扩展中使用数据库

2024-04-11

我想在我的 Firefox Web 扩展中使用一些数据库,我已经找到了this https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage,但它只是键值对的存储。

那么如何在 Firefox Web 扩展中使用数据库呢?


您可以使用 IndexedDB Web API:https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

有一个样本扩展 https://github.com/mdn/webextensions-examples/tree/master/store-collected-images尽管它使用的是库,但它使用它。看看一般情况可能会更好使用索引数据库 https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB例子。

你可能想声明"unlimitedStorage"允许;在 Chrome 中,它取消了 5MB 的大小限制,而在 Firefox 上显然是这样绕过用户提示 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#Unlimited_storage.

请注意,IndexedDB 是按源的,因此您的内容脚本(其源在技术上是它们正在运行的页面)将无法直接访问它;您需要依靠消息传递来让后台页面“代理”访问。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Firefox Web 扩展中使用数据库 的相关文章

随机推荐

  • 我可以在 Rust 中将字符串转换为枚举而不使用宏吗?

    例如 如果我有如下代码 enum Foo Bar Baz Bat Quux impl Foo from input str gt Foo Foo input 这显然会失败 因为input不是 Foo 的方法 我可以手动输入 from inp
  • 如何处理错误并正确使用 Promise

    首先 我正在对我发布的这个问题进行跟进不久前 https stackoverflow com questions 53940043 unhandledpromiserejectionwarning this error originated
  • 如何从 VIM 运行 C 程序?

    有没有一种方法可以从 VIM 编译并运行 C 程序而无需输入文件名 gcc o somename somename使用时 将替换为当前打开的文件的名称 当你的项目变得更大时 你还可以编写一个makefile并编译当前项目 make 如果有任
  • 如何加载高分辨率图像Windows Phone任务代理? [内存不足]

    众所周知 Windows Phone 8 任务代理只能使用 11 5MB 内存 我试图在后台任务代理中制作动态锁屏图像 当我得到 480 800 图像时 它工作正常 但当我将其更改为 768 1280 时 出现异常 内存不足 1 像素投射
  • 如何循环遍历 Golang 结构体中的字段以可扩展的方式获取和设置值?

    我有一个结构体 Person type Person struct Firstname string Lastname string Years uint8 然后我有这个结构的两个实例 PersonA 和 Person PersonA Ob
  • 如何保存WPF UI状态?

    我有一个TabControl在它下面我有几个元素 例如TreeView and DataGrid 当我展开树并调整数据网格列的大小时 如果我然后切换到另一个选项卡并返回 整个 UI 状态都会被忘记 我必须重新展开树并调整列的大小 是否有一种
  • Android 没有按钮的对话框

    我可以创建一个没有否定或肯定按钮的对话框吗 特定行动后会自我毁灭吗 AlertDialog Builder dialog detect new AlertDialog Builder MainActivity this dialog set
  • 如何在 Swift 中将图像添加到 ARSCNScene 中?

    我在开发 Swift 游乐场时偶然发现了一个障碍 我想将图像添加到我的 ARSCNScene ARKit SceneKit 不是作为背景 而是作为具有位置和所有内容的实际节点 有谁知道这是否可能 我在网上找不到任何东西 谢谢 您可以轻松地将
  • 如何更改 vagrant 安装的 puppet 版本

    我在 Precision32 Base Box 上使用 vagrant 1 0 1 来玩木偶 配置工作正常 我的清单正在执行 默认情况下 vagrant 在 guest 虚拟机上的 opt vagrant ruby bin puppet 下
  • 使用 awk 在匹配后连接行

    我有一个如下所示的列表 gt aaa AAAAAAAAAA gt bbb BBBBBBBBBBBBBBBB gt ccc CCCCCCC 我想使用 awk 在 或 之后加入下一行 并使用逗号分隔符 这样它看起来像这样 gt aaa AAAA
  • C# Server.URLEncode 的 JavaScript 等价物是什么?

    C Server URLEncode 的 JavaScript 等价物是什么 encodeURI http xkr us articles javascript encode compare ref js msdn http xkr us
  • Maven 问题:项目构建错误:未解析的父 POM

    项目构建错误 无法解析 org springframework gs spring boot 0 1 0 的父 POM 无法从以下位置传输 org springframework boot spring boot starter paren
  • 在 Azure DevOps 中,是否有一种简单的方法可以将 wiki 从一个存储库复制到另一个存储库?

    我看到有一个 克隆维基 链接 但我不知道是否可以将克隆维基导入到另一个存储库中 我们正在做的是将我们的存储库从我们自己的 Azure 帐户移动到客户的 Azure 帐户 这样 wiki 将丢失 我不想手动复制所有 wiki 页面 是否可以将
  • 如何使用Sphinx管理多个版本的文档? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我维护一个用 C 编写的小型库项目 我想使用 Sphinx 来维护每个发行版本的图书馆网站 用户文档 我发现 类似的问题如何管理多个版本 htt
  • 无法在jsf页面中执行Javascript

    我是jsf新手 我一直在尝试用 commandbutton 做一个简单的 Javascript 函数 我尝试了很多次 但甚至无法发出警报消息 这是我的代码的一部分 请任何人指导我 并告诉我出了什么问题 以及我应该做什么才能让它运行
  • 如何在 UINavigationBar 中设置自定义字体?

    如何在 UINavigationBar 中设置自定义字体 我需要 tahoma 字体 void viewDidLoad self title My text 完全有可能 只是做起来有点棘手 一旦你找到了你需要的字体 iOS 已经附带的替代品
  • PHP 中使用 @ 运算符抑制错误

    您认为 在您可能正在处理错误的情况下 使用 运算符来抑制 PHP 中的错误 警告是否有效 如果是这样 你会在什么情况下使用它 欢迎使用代码示例 编辑 回复者注意 我不想关闭错误报告 但是 例如 常见的做法是使用 fopen file 然后检
  • 向 Apache Pdfbox 添加字体?

    有没有办法将其他字体样式添加到 Apache Pdfbox 中 我们目前正在尝试解决在我们的系统中打印 PDF 的问题 目前正在使用PDF渲染器 https java net projects pdf renderer 我一直在寻找各种替代
  • 使用 AVFoundation 播放 wav 声音文件

    我正在使用 AVFoundation 播放 wav 文件 但我无法让它播放 也没有出现错误或警告 XCode 是 4 2 设备是 iOS 5 IBAction playSelectedAlarm id sender UIButton but
  • 在 Firefox Web 扩展中使用数据库

    我想在我的 Firefox Web 扩展中使用一些数据库 我已经找到了this https developer mozilla org en US docs Mozilla Add ons WebExtensions API storage