javascript - 如何在 ChromeWorker 中使用事件?

标签 javascript firefox-addon firefox-addon-sdk

当我尝试

var { on, once, off, emit } = require('resource://gre/modules/commonjs/sdk/event/core');

在我的worker.js中,我收到一个错误

TypeError: The argument to require() must be a string uri, got ../core/namespace

但是,相同的调用在我的 index.js 中运行良好。工作人员无法访问事件吗?

更新。我认为这可能是 core.js 内部的问题,因为每个 https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/core_namespace 有一个 sdk/core/namespace ,遗憾的是 require ('sdk/event/core') 没有这样做。

最佳答案

哦,我明白这是怎么回事了。您无法在 ChromeWorker 中使用这些 SDK 模块或其他 XPCOM 组件。这些是 worker 可以获得的东西 -

https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers#workerscope

除此之外,一切都需要你自己处理。 worker 体重很轻,很赤裸。

关于javascript - 如何在 ChromeWorker 中使用事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36168000/

相关文章:

javascript - jQuery 从空列和行中清理 Flexbox 结构

javascript - Firefox 扩展端口监听器

javascript - 如何实现命令,以便在卸载 firefox-addon 时执行?

javascript - 无法使用xul写入文件

google-chrome-extension - 如何在 Firefox 插件中实现 Chrome 扩展的 chrome.tabs.sendMessage API

javascript - 在面板中使用 JavaScript

javascript - d3.js 中的转义字符滴答声

javascript - 升级到 Angular v9 并启用 Ivy 后,Angular 编译失败

javascript - 如何使用javascript检查HTML样式属性是否存在

javascript - 无法从父级调用 iframe 函数(firefox 插件)