使用Builder在线工具 https://builder.addons.mozilla.org/ 构建和测试我的扩展 现在我想在本地存储数据我正在学习本教程 https://developer.mozilla.org/en/Storage 但代码片段对我不起作用 我是否应该使用经典SDK在本地开发它们,或者有没有办法将SQLite支持添加到加载项构建器?
答案 0 :(得分:3)
默认情况下,附加SDK是沙箱,不提供对XPCOM的直接访问。要使用XPCOM对象,您需要break out of the sandbox:
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.classes
,Ci
代替Components.interfaces
和Cu
代替{{1} }}
答案 1 :(得分:1)
您可以使用简单的JS包装器:https://github.com/julianceballos/sqlite-jetpack