Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!