Firefox WebExtension导入服务

时间:2016-03-31 11:47:18

标签: javascript firefox firefox-addon firefox-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未定义的错误。
  3. 这是一个后台脚本,请指出如何导入我需要使用的正确库/接口的正确方向?

1 个答案:

答案 0 :(得分:6)

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

  

Components.utils.import

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

  

const {Cu} = require(“chrome”);

这适用于SDK扩展。

两者都不适用于webextensions。

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

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