Firefox WebExtension导入服务

ala*_*rev 5 javascript firefox firefox-addon firefox-addon-webextensions

我感到被许多不同的方法,指南所震撼,但我没有尝试过为我工作.请为我连接至少一些点...

我的目标是在Firefox WebExtension的后台脚本中找到一个窗口对象.

问题,我无法导入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未定义的错误.

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

the*_*472 6

用于添加的MDN顶级页面用于概述不同的扩展类型(因为FF57仅支持webextensions).

Components.utils.import

这适用于无重启/ XUL(传统)扩展.

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

这适用于SDK扩展.

两者都不适用于webextensions.

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

因此,当您查找与此扩展类型相关的文档时,请坚持使用webextensions层次结构或标准Web API 下的页面.