我无法在 Firefox 扩展中使用 indexedDB 保存数据。我也找不到关于 indexedDB 和 Firefox 扩展的任何信息。
有没有人处理过这个问题?
我无法在 Firefox 扩展中使用 indexedDB 保存数据。我也找不到关于 indexedDB 和 Firefox 扩展的任何信息。
有没有人处理过这个问题?
唯一的问题是,因为indexedDB
你需要一个窗口,除了从附加组件中使用它时没有什么特别之处。经典插件通常有一个可以使用的窗口,但是使用插件 SDK 创建的插件在无窗口上下文中执行。因此,如果您使用的是 SDK,则使用内部window-utils
包:
var window = require("window-utils").activeWindow;
var indexedDB = (window.indexedDB || window.mozIndexedDB);
var request = indexedDB.open("MyExtensionDB");
请注意,chrome://
就 IndexedDB 而言,所有扩展都使用相同的命名空间 ( )。因此,您应该选择数据库名称,使其不会与其他扩展可能选择的名称发生冲突。
从 Firefox 12 开始,不再需要有一个窗口。nsIIndexedDatabaseManager.initWindowless()
可用于将mozIndexedDB
属性注入任何对象。相关错误:错误 587797。