2012-01-28 2 views

ответ

2

Единственная проблема заключается в том, что для indexedDB вам нужно окно, отличное от того, что при использовании его надстройка не особо выделяется. У классических надстроек обычно есть окно, которое они могут использовать, но надстройки, созданные с помощью SDK Add-on, выполняются в контексте без окон. Так что если вы используете 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 в любой объект. Соответствующая ошибка: bug 587797.

Смежные вопросы