【发布时间】:2012-02-12 02:50:31
【问题描述】:
我希望能够在 Chrome 扩展中包含一个 sqlite 文件,并使其能够在该数据库上执行读/写操作。我将把它用于进程对讲(由于缺乏替代品),所以我可以覆盖配置/将命令行参数/等传递给 Chrome。
有人可以指点我正确的方向吗?
【问题讨论】:
标签: google-chrome google-chrome-extension google-chrome-devtools
我希望能够在 Chrome 扩展中包含一个 sqlite 文件,并使其能够在该数据库上执行读/写操作。我将把它用于进程对讲(由于缺乏替代品),所以我可以覆盖配置/将命令行参数/等传递给 Chrome。
有人可以指点我正确的方向吗?
【问题讨论】:
标签: google-chrome google-chrome-extension google-chrome-devtools
您无法通过发送文件 AFAIK 来做您想做的事,但由于 Chrome 中的 WebSQL 本质上是 SQLite,您可以在代码中将“数据库”作为 JSON 数据结构发送,并使用它在 Chrome 中初始化 WebSQL 实例您为您的应用程序/扩展初始化 WebSQL 数据库。
【讨论】:
Chrome 在使用外部文件方面非常严格。
无论如何,Chrome 扩展程序应该使用localStorage。比如:
localStorage["varName"] = data;
或
localStorage.varName = data
和
var data = localStorage.varName
查看更多信息here
【讨论】:
在这里。
部分解决。 Chrome 支持传递--user-data-dir=%appdata%/whatever
在我的外部应用程序中,我可以访问%appdata%/Whatever/databases/Databases.db,打开Databases 表,按来源过滤,获取ID 并打开%appdata%/Whatever/databases/origin/ID。这有点骇人听闻,但可以。
现在让我感到困惑的是:
openDatabase('X','1.0','plm',100*1024*1024); 大喊大叫
chrome-extension_bhapcikibejcipnnpimookjaibhlddfd_0 可能不一致;在其他应用程序中进行硬编码是否安全?【讨论】: