webextension extensions extensiones extension crear complemento javascript firefox firefox-addon firefox-webextensions

javascript - extensions - Servicios de importación de WebExtension de Firefox



mozilla js extension (1)

La página de nivel superior de MDN para complementos se utiliza para dar una visión general de los diferentes tipos de extensiones (ya que solo se admiten FF57 webextensions).

Components.utils.import

esto es para extensiones sin reinicio / XUL (heredado).

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

esto es para extensiones de SDK.

Ninguno de los dos funcionará en webextensions.

A diferencia de los otros tipos de extensión, las extensiones de Webextensions son restrictivas, no proporcionan acceso a las API de bajo nivel que puede encontrar en toda la wiki.

Así que adhiérase a las páginas que están bajo la jerarquía webextensions o las API web estándar cuando busque documentación relacionada con este tipo de extensión.

Me siento abrumado por tantos enfoques diferentes, guías y, sin embargo, ninguno de ellos intenté trabajar para mí. Por favor conecta al menos algunos de los puntos para mí ...

Mi objetivo es encontrar un objeto de ventana en el script de fondo de Firefox WebExtension.

Problema: no puedo importar la biblioteca de Services para usarla para encontrar un objeto de window .

Dos métodos que probé:

  1. Components.utils.import("resource://gre/modules/Services.jsm"); Otorga una advertencia de que los Components están privados y un error: Components.utils no está definido.
  2. const { Cu } = require("chrome"); let Services = Cu.import("resource://gre/modules/Services.jsm"); Lanza un error que require es indefinido.

Esa es una secuencia de comandos en segundo plano, apúntame en la dirección correcta sobre cómo importar las bibliotecas / interfaces adecuadas con las que necesito trabajar.