2012-02-25 2 views
0

나는 프로파일 폴더에 SQLite 데이터베이스를 생성하기 위해 openDb 함수를 제공하는 Firefox 확장 기능을 만들었습니다. 내 기능이 잘 작동하고있다. 그러나 웹 작업자 (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 

어떻게뿐만 아니라 웹 노동자에 내 함수를 정의 하는가?

답변

0

웹 작업자에게 글로벌 속성을 추가 할 수 없다는 점을 확신합니다. 모든 기존 옵션 (javascript-global-property 범주, 및 document-element-inserted 옵저버 알림)은 문서에 연결된 전체 범위를 조정할 수 있도록합니다. 일 경우에도 이렇게하는 것이 도움이되지 않습니다. 각 웹 작업자마다 고유 한 스레드가 있으므로 XPCOM 구성 요소에 다른 스레드에서 액세스해야합니다. 파이어 폭스의 자바 스크립트는 더 이상 스레드로부터 안전하지 않지만, 이것을 시도하면 크래시가 발생합니다. 그래서 IMHO는 JavaScript 기반 확장으로 할 수없는 일을하려고합니다.