【问题标题】:Chrome Extension - Background script accessing IndexedDB (No store)Chrome 扩展 - 访问 IndexedDB 的后台脚本(无存储)
【发布时间】:2020-03-04 14:32:23
【问题描述】:

我正在开发 Chrome 扩展程序并利用内容 + 后台脚本。根据我的实现,我正在创建一个 IndexedDB 存储并将一些数据存储到其中(文件对象)。我可以在内容脚本中检索/列出这些数据。

但是当我尝试从后台脚本访问同一个数据库和存储时,事情变得神秘了。没有数据库,没有对象存储。它都不存在。我使用 Chrome 开发者工具来验证这种行为。

这是默认行为,还是我真的错过了什么?

【问题讨论】:

  • IndexedDB 是按源存储,这意味着在您的内容脚本中,您使用的是网站的源。然而,后台脚本在 chrome-extension:// URL 源中运行,因此其 IndexedDB 与网页无关。
  • 感谢@wOxxOm 注明

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

我也有这个问题,但是我通过 google chrome api 将数据发送到后台脚本解决了这个问题:

chrome.runtime.sendMessage(allData: allData);

并将这些数据监听到后台脚本中。

chrome.runtime.onMessage.addListener();

之后,我打开了 IndexedDB 对象存储并将数据放入/添加到数据库中。

如果您的问题是这样,则将数据发送到后台脚本,然后访问它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多