我无法在 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 https://bugzilla.mozilla.org/show_bug.cgi?id=587797.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)