我感到被许多不同的方法,指南所震撼,但我没有尝试过为我工作。请为我连接至少一些点......
我的目标是在Firefox WebExtension的后台脚本中找到一个窗口对象。
问题,我无法导入Services
库来使用它来查找window
对象。
我尝试了两种方法:
Components.utils.import("resource://gre/modules/Services.jsm");
发出警告Components
已被删除,并显示错误:Components.utils
未定义。const { Cu } = require("chrome");
let Services = Cu.import("resource://gre/modules/Services.jsm");
引发require
未定义的错误。这是一个后台脚本,请指出如何导入我需要使用的正确库/接口的正确方向?
答案 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下的网页。