2012-02-25 35 views
0

我創建了一個Firefox擴展,它提供了一個openDb函數來在配置文件文件夾中創建SQLite數據庫。我的功能工作正常。但它在 web worker(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

我非常確定您無法將全局屬性添加到Web工作者,所有現有選項(javascript-global-property類別,content-document-global-createddocument-element-inserted觀察者通知)僅允許您調整附加到文檔的全局範圍。即使有這樣做的方式,它也不會幫助你:它需要你的XPCOM組件可以從不同的線程訪問,因爲每個web worker都有自己的線程。 Firefox中的JavaScript不再是線程安全的,但是,如果您嘗試了這一點,則會發生崩潰。所以恕我直言,你試圖做的是不能用基於JavaScript的擴展。