Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

494
Vistas
Escribir una extensión de Firefox: intentar importar mi propio módulo en un script de contenido provoca un error silencioso

Soy muy nuevo en la escritura de extensiones de navegador y, en este momento, estoy creando un pequeño script que mejora Oracle BI para mi empresa. Básicamente, solo cambia algunas cosas en el DOM, como agregar un ícono a una pestaña, según la URL en la que se encuentre (al menos por ahora), y funciona bien. Aquí hay un manifest.json por ahora:

manifset.json

 { "manifest_version": 2, "name": "BI+", "version": "1.0", "description": "Zestaw dodatków wzbogacających funkcjonalność Oracle BI.", "icons": { "48": "icons/border-48.png" }, "content_scripts": [ { "matches": ["*://*/analytics/saw.dll?IBotSummary*"], "js": ["scripts/agent_edit.js"] }, { "matches": ["*://*/analytics/saw.dll?EditDashboard*"], "js": ["scripts/dashboard_edit.js"] } ] }

Entonces, para cada tipo diferente de página, tendré un script separado y, como puede imaginar, eso significa reutilizar una gran cantidad de código. Así que creé un módulo separado, utilities.js, para empaquetar todas las funciones que estoy reutilizando a menudo:

 /icons /scripts ++ utilities.js ++ agent_edit.js ++ dashboard_edit.js" manifest.json

Por ahora es solo un simple hello_world, y no puedo hacer que funcione:

 export function hello_world (){ console.log('HELLO WORLD'); }

y mi scripts/agent_edit.js es básicamente eso (muy simplificado):

 import { hello_world } from "./utilities.js"; function _some_async_awaiting_for_element() { main() } function main () { hello_world() add_icon_to_tab() # I want to move this to utilities.js once I get it to work }

Y tan pronto como hago esa importación en este script de contenido, ni siquiera la llamada a la función hello_world(), este script de contenido simplemente no se activa en el sitio web correcto. Revisé todas las formas posibles de importar en mozilla docs: Mozilla Docs .

Creo que podría tener algo que ver con esta línea en los documentos, pero no estoy seguro de cómo implementarlo cuando básicamente mi extensión no incluye un DOM:

La declaración de importación no se puede utilizar en secuencias de comandos incrustadas a menos que dicha secuencia de comandos tenga un tipo = "módulo".

¿Cómo se haría para importar módulos en este tipo de extensión?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda