谷歌浏览器 - 是否可以在扩展中包含 SQLite 数据库

Sor*_*lob 4 sqlite google-chrome-extension

下载时是否可以包含随扩展名打包的 DB 文件。我正在尝试包含一个带有邮政编码的小型数据库,因此扩展程序不必请求查找正确的邮政编码。

可能吗?

Moh*_*our 5

基本上我会在 Chrome 扩展程序中做的是用“zip_codes.json”文件打包它。然后当您的扩展加载时,使用 XHR 读取该文件。例如,下面的代码片段是异步(如果需要,您也可以使用同步)获取存储在扩展程序中的邮政编码。

var zipcodes = {};
var xhr = new XMLHttpRequest();
xhr.open('GET', chrome.extension.getURL('zip_codes.json'), false);
xhr.onreadystatechange = function() {
  zip_codes = JSON.parse(xhr.responseText);
  console.log(zip_codes);
}
Run Code Online (Sandbox Code Playgroud)

我相信这种方法比为文件添加自己的 localStorage 缓存更容易管理,因为一旦您发送它,您就可以随时更新该文件。

因此,如果您的 zip_codes.json 文件具有以下内容:

{
  33445: 'Some zip'
}
Run Code Online (Sandbox Code Playgroud)

您可以使用以下方法访问该邮政编码:

console.log(zip_codes[33445]);
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!