Firefox WebExtension 导入服务

Firefox WebExtension importing Services

我对这么多不同的方法、指南感到不知所措,但 none 我尝试为我工作。请至少为我连接一些点...

我的objective是在Firefox WebExtension的后台脚本中找到一个window对象。

问题,我无法导入 Services 库以使用它来查找 window 对象。

我试过的两种方法:

  1. Components.utils.import("resource://gre/modules/Services.jsm"); 给出 Components 被描述的警告,并且错误:Components.utils 未定义。
  2. const { Cu } = require("chrome"); let Services = Cu.import("resource://gre/modules/Services.jsm"); 抛出 require 未定义的错误。

这是一个后台脚本,请指出正确的方向如何导入我需要使用的正确 libraries/interfaces?

MDN top level page for addons 用于概述不同的扩展类型(因为 FF57 仅支持网络扩展)。

Components.utils.import

这是 restartless/XUL(旧版)扩展。

const { Cu } = require("chrome");

这是用于 SDK 扩展。

两者都不会在 webextensions 中工作。

与限制性的其他扩展类型不同,它们不提供对您可以在整个 wiki 上找到的低级 API 的访问。

因此,在查找与此扩展类型相关的文档时,请坚持使用 webextensions hierarchy 或标准 Web API 下的页面。