向所有Web工作者添加属性

时间:2012-02-25 13:25:28

标签: javascript firefox firefox-addon web-worker

我创建了一个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

我如何在网络工作者中定义我的功能?

1 个答案:

答案 0 :(得分:0)

我非常确定您无法向网络工作者添加全局属性,所有现有选项(javascript-global-property类别,content-document-global-createddocument-element-inserted观察者通知)仅允许您调整全局附在文件上的范围。即使这样做的一种方法,它也无济于事:它需要从不同的线程访问您的XPCOM组件,因为每个Web工作者都有自己的线程。 Firefox中的JavaScript不再是线程安全的,但如果您尝试这样做会导致崩溃。所以恕我直言,你试图做的事情是不能用基于JavaScript的扩展。