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

164
Vistas
El script de contenido de la extensión de Firefox no se carga durante la carga del complemento temporal

Estoy desarrollando una extensión que involucra tanto una secuencia de comandos de fondo como una secuencia de comandos de contenido. La secuencia de comandos de contenido obtiene el texto seleccionado de las páginas web, cuando el usuario hace clic en la entrada de menú relativa de la extensión y luego lo envía a la secuencia de comandos de fondo para su posterior procesamiento.

Aquí está la sección relativa de manifest.json :

 "background": { "scripts": ["background.js"] }, "content_scripts": [ { "matches": ["<all_urls>"], "js": ["content.js"] } ]

Cargo la extensión en about: depuración > Este Firefox > Cargar complemento temporal... para probarlo.

En el código, envío un mensaje desde el script de fondo al script de contenido, pero arroja un error:

Error no capturado (en promesa): no se pudo establecer la conexión. El extremo receptor no existe

Verifiqué usando el depurador, en about:devtools-toolbox y descubrí que solo se carga el script de fondo.

¿Alguien tiene una idea de qué hace que el script de contenido no se cargue y cuál sería la solución?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La secuencia de comandos de fondo debe enviar un mensaje a la secuencia de comandos de contenido, solicitando el texto seleccionado y luego escuchar el mensaje que recibe. Entonces puede llamar a la función que hace la búsqueda de Google:

 function onCreated() { if (browser.runtime.lastError) { console.log(`Error: ${browser.runtime.lastError}`); } else { console.log("Item created successfully"); } } browser.menus.create({ id: "context-entry", title: 'search', contexts: ['all'], onclick: getText }, onCreated); async function getText() { const tabInfo = await getCurrentTab(); const [{ id: tabId }] = tabInfo; browser.tabs.sendMessage(tabId, { trigger: 'getText' }); } browser.runtime.onMessage.addListener(function ({ txt }) { doSearch(txt); }); function doSearch(txt) { var searchURL = `https://www.google.com/search?q=${txt}`; browser.tabs.create({url: searchURL}); }

Y la secuencia de comandos de contenido debe escuchar el mensaje de la secuencia de comandos de fondo y devolver el texto seleccionado.

 browser.runtime.onMessage.addListener(({ trigger }) => { if (trigger === 'getText') { const selection = window.getSelection(); const txt = selection.toString(); browser.runtime.sendMessage({ trigger: 'foundText', txt }); } });
about 4 years ago · Juan Pablo Isaza Denunciar
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