浏览器扩展程序可以下载现成的IndexedDB数据库吗?

问题描述 投票:1回答:1

我想创建一个使用大型数据库(约100万个条目)的浏览器扩展程序(Chrome,Firefox)。由于扩展名将非常频繁地使用数据,因此必须将其下载到客户端。

我了解到可以从服务器下载JSON文件,然后将其添加到IndexedDB。但这对于大型数据库将花费大量时间。由于浏览器扩展程序只会读取数据,而不会更改数据,因此我想知道扩展程序是否有可能从服务器下载现成的IndexedDB。因此,服务器将创建数据库,而客户端只需下载它即可立即使用它。

或者是否存在一种完全不同的方式来赋予浏览器扩展访问大型数据库的权限,而不必每次都访问远程数据库?

indexeddb browser-extension
1个回答
0
投票

您无法引用它下载“ indexedDB数据库”。哪有这回事。就实际文件和每个文件中的数据格式而言,如何将数据存储在indexedDb中不是indexedDb API的一部分。不能以这种方式访问​​它。

您可以做的是,使用可传输的格式下载数据。在这种情况下使用的一种非常受支持的通用格式是JSON。 JSON是一种很好的数据下载格式。

考虑编写在服务器上创建JSON响应的程序。然后,浏览器扩展可以下载JSON文件,然后在与浏览器扩展关联的上下文中在浏览器的indexedDb数据库中创建对象。换句话说,将数据从服务器上的数据库导出到JSON,通过HTTP传输JSON文件或文件或响应主体,然后将JSON导入indexedDb。无论数据大小如何,这都是非常常规的程序设计。

[使用扩展程序(例如Chrome扩展程序时,您可以指定想要无限的数据大小,并且您将获得“几乎”无限的数据,最多占计算机存储容量(硬盘大小)的百分比。] >

© www.soinside.com 2019 - 2024. All rights reserved.