如何在 Safari Web 扩展中维护持久的 SQLite 连接?

时间:2021-06-10 03:26:19

标签: database macos sqlite safari safari-extension

我正在尝试扩展:

  • 使用 content.js
  • 拉取网页内容
  • 将内容插入到永久存储在硬盘上的 SQLite 数据库中

我意识到 SafariWebExtensionHandler 只存在于标签中。这意味着每次扩展想要向数据库插入数据时,它都必须重新启动与 SQLite 文件的连接。

我想知道是否有办法将其改进为有后台 SQLite 实例的状态,我可以随时从扩展 JavaScript 上下文连接到该实例。

我的想法:

  • 在 macOS 上运行后台守护程序以维护 SQLite 连接。守护进程充当 WebSocket 服务器。扩展 JavaScript 通过 WebSocket 连接到它。
    • 缺点:需要后台进程。未使用 Safari API browser.runtime.sendNativeMessage

我认为肯定有一个我错过了适合这种情况的 API。我对 macOS 开发完全陌生,所以请使用 eli5。

0 个答案:

没有答案