Добавление свойства всем веб-работникам - PullRequest
0 голосов
/ 25 февраля 2012

Я создал расширение Firefox, которое предоставляет функцию openDb для создания базы данных SQLite в папке профиля. Моя функция работает нормально. Но это не работает в веб-работник (HTML5), функция там не определена.

Мой chrome.manifest файл для справки:

component {12345678-1234-5678-abcd-12345678abcd} components/dblay.js
contract @goo.com/gftdb;1 {12345678-1234-5678-abcd-12345678abcd}
category JavaScript-global-property openDB @goo.com/gftdb;1

Как мне определить свою функцию и в веб-работниках?

1 Ответ

0 голосов
/ 25 февраля 2012

Я почти уверен, что вы не можете добавить глобальные свойства веб-работникам, все существующие параметры (javascript-global-property категория, content-document-global-created и document-element-inserted уведомления наблюдателя) просто позволяют вам настроить глобальные области, прикрепленные к документам.Даже если бы было способом сделать это, это не помогло бы вам: это потребовало бы доступа к вашему компоненту XPCOM из разных потоков, потому что у каждого веб-работника есть свой собственный поток.JavaScript в Firefox больше не является поточно-ориентированным, однако, если вы попробуете это, вы получите сбои.Так что ИМХО то, что вы пытаетесь сделать, невозможно с расширением на основе JavaScript.

...