Разработка расширения Firefox sqlite - PullRequest
4 голосов
/ 03 ноября 2011

с помощью онлайн-инструмента Builder https://builder.addons.mozilla.org/ для создания и тестирования моего расширения теперь, когда я хочу хранить данные локально, я следую этому уроку https://developer.mozilla.org/en/Storage, но фрагменты кода не работают для меняразрабатывать их локально, используя классический SDK, или есть способ добавить поддержку SQLite в конструктор дополнений?

Ответы [ 2 ]

3 голосов
/ 03 ноября 2011

Add-on 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.classes, Ci вместо Components.interfaces и Cu вместо Components.utils.

1 голос
/ 18 августа 2012

Вы можете использовать простую оболочку JS: https://github.com/julianceballos/sqlite-jetpack

...