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

152
Vistas
Firefox: captureVisibleTab parece bloquearse

Estoy tratando de hacer una extensión de Firefox que agregará un botón para tomar una captura de pantalla de la pestaña activa. Cuando llamo a 'captureVisibleTab', la llamada parece colgarse: la función nunca ejecuta la siguiente línea. Código mínimo para mostrar el problema:

 let shotBtn = document.createElement("button"); shotBtn.innerHTML = "Shot"; shotBtn.onclick = function () { takeShot(); }; document.body.appendChild(leftBtn); async function takeShot() { leftBtn.innerHTML = "Start"; // This line executes. const shot = await browser.tabs.captureVisibleTab(); leftBtn.innerHTML = "Done"; // This line does not. }

Veo que el texto del botón cambia a "Inicio", pero no veo que cambie a "Listo".

Probé algunas variantes: elimine el 'esperar' y agregue el manejo "shot.then" en su lugar, y coloque la llamada captureVisibleTab directamente en el método onclick en lugar de un método asíncrono separado. Agregué el permiso "<all_urls>" en mi archivo de manifiesto, pero no estoy seguro de que se me haya otorgado el permiso. ¿Hay alguna forma de verificar esto?

Soy nuevo en JavaScript y las extensiones web en general, por lo que puede haber algún defecto fundamental en mi comprensión de cómo debería funcionar esta función asincrónica. ¿Es posible que algún recolector de basura esté tomando el objeto de función antes de que termine de ejecutarse? Si es así, ¿cómo puedo evitar esto en un método 'onclick'?

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

0

Debería haber leído un poco más profundamente antes de escribir mi pregunta. Estaba tratando de hacer lo anterior en un script de contenido, que no permite usar captureVisibleTab; tienes que hacer eso en un script de fondo. Si, como yo, eres un novato en desarrollo web y acabas de enterarte de que existe esta distinción, puedes leer sobre ella aquí .

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