4

使用 Builder 在线工具 https://builder.addons.mozilla.org/ 构建和测试我的扩展现在我想在本地存储数据我正在关注本教程 https://developer.mozilla.org/en/Storage 但是代码片段对我不起作用我应该使用经典 SDK 在本地开发它们还是有办法将 SQLite 支持添加到附加组件构建器?

4

2 回答 2

3

附加 SDK 默认为沙盒,不提供对 XPCOM 的直接访问。要使用 XPCOM 对象,您需要跳出沙箱

var {Cc, Ci, Cu} = require("chrome");
var {Services} = Cu.import("resource://gre/modules/Services.jsm");
var {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm");

var file = FileUtils.getFile("ProfD", ["my_db_file_name.sqlite"]);
var mDBConn = Services.storage.openDatabase(file);

请注意,Components保持未定义 - 使用Cc而不是Components.classesCi而不是Components.interfacesCu而不是Components.utils

于 2011-11-03T09:41:39.200 回答
1

您可以使用简单的 JS 包装器:https ://github.com/julianceballos/sqlite-jetpack

于 2012-08-18T12:53:42.420 回答