Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome Chrome扩展和IndexDB集成_Google Chrome_Google Chrome Extension - Fatal编程技术网

Google chrome Chrome扩展和IndexDB集成

Google chrome Chrome扩展和IndexDB集成,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,因此,我正在进行一个项目(构建一个chrome扩展),该项目要求数据存储在用户的本地机器上。数据的大小相当大,因此我考虑使用IndexDB实现这一目的 我的问题是,是否可以将chrome扩展与IndexDB连接,同时查询数据库 如果是,那么我如何集成它们。我应该在哪个文件(popup.js或background.js或任何其他文件)中包含创建数据库的源代码。 我希望创建数据库的代码只运行一次。之后,我只想更新或删除数据 如果没有,那么有没有其他方法来实现这一点??数据很大,因此我无法将数据存储在

因此,我正在进行一个项目(构建一个chrome扩展),该项目要求数据存储在用户的本地机器上。数据的大小相当大,因此我考虑使用IndexDB实现这一目的

我的问题是,是否可以将chrome扩展与IndexDB连接,同时查询数据库

如果是,那么我如何集成它们。我应该在哪个文件(popup.js或background.js或任何其他文件)中包含创建数据库的源代码。 我希望创建数据库的代码只运行一次。之后,我只想更新或删除数据

如果没有,那么有没有其他方法来实现这一点??数据很大,因此我无法将数据存储在本地存储器中

任何来自chrome开发者或任何其他有效网站的论文、在线材料、建议或方法都会有所帮助。任何例子都会对我有很大帮助。 谢谢。

  • 您可以在任何HTML5存储器(包括IndexedDB或localStorage)和
    chrome.storage.local
    中存储大量数据
  • HTML5数据存储在每个URL源中,每个扩展都有自己的一个,看起来像
    chrome-extension://id
    其中
    id
    是一个32个字符的字符串,它是扩展的id。在Firefox中,源代码看起来像
    moz-extension://id

  • 扩展自身的HTML5存储:

    • 可以在任何扩展页面(弹出窗口、选项、背景)中访问,就像在网页中一样,没有区别
    • 无法在内容脚本中访问,因为它在网页中运行,因此只能访问网页URL源的HTML5存储
  • 可以在任何扩展页和内容脚本中访问chrome.storage.local
  • 无需特殊事件来创建/升级IndexedDB存储-如果需要,它将自动发生-只要在需要访问它时打开它,如果没有数据库或它已过时,将调用您的
    onupgradeneeded
    回调
  • 为IndexedDB使用提供简化语法的包装器库。文档中列出了一些,但您自己可能会找到更好的