1

我正在开发一个 Firefox 扩展,它需要经常写入 SQLite 数据库(这是出于一些实验目的,而不是生产或任何东西)。问题是写入数据库有相当多的开销,所以我认为我可以将这部分移动到后台工作人员,以免中断浏览活动。

现在我的问题是我无法从工作人员那里访问 XPCOM 组件;即做

Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/FileUtils.jsm");

来自工人将不起作用(Components未定义)。

有什么解决方法吗?

4

1 回答 1

0

请参阅 indexed-db 模块https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/indexed-db.html

var { indexedDB } = require('indexed-db');

var request = indexedDB.open('MyDatabase');
request.onerror = function(event) {
  console.log("failure");
};
request.onsuccess = function(event) {
  console.log("success");
};
于 2013-07-06T21:00:45.290 回答