2012-02-25 55 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的扩展。