首页 文章

Firefox WebExtension导入服务

提问于
浏览
5

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

我的目标是在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 未定义 .

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

1 回答

  • 5

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

    Components.utils.import

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

    const = require(“chrome”);

    这是针对SDK扩展的 .

    两者都不适用于webextensions .

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

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

相关问题