2012-01-28 8 views
2

Firefox拡張機能でindexedDBを使用してデータを保存することはできません。私はまた、indexedDBとFirefoxの拡張機能に関する情報を見つけることができません。Firefox拡張機能でindexedDBを使用する

誰もこれを処理したことがありますか?

答えて

2

唯一の問題は、indexedDBの場合は、アドオンから使用するときに特別なこと以外はウィンドウが必要なことです。クラシックアドオンには通常、使用できるウィンドウがありますが、アドオンSDKで作成されたアドオンはウィンドウレスのコンテキストで実行されます。

var window = require("window-utils").activeWindow; 
var indexedDB = (window.indexedDB || window.mozIndexedDB); 
var request = indexedDB.open("MyExtensionDB"); 

注すべての拡張機能は、限りのIndexedDBが行くのと同じ名前空間(chrome://)を使用すること:あなたがSDKを使用しているのであれば、あなたは内部window-utilsパッケージを使用しています。したがって、データベース名は、他の拡張機能が選択する名前と衝突しないように選択する必要があります。

Firefox 12以降、ウィンドウを作成する必要はありません。 nsIIndexedDatabaseManager.initWindowless()を使用して、任意のオブジェクトにmozIndexedDBプロパティを注入できます。関連するバグ:bug 587797

関連する問題