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

530
Views
¿Cómo resolver el error: Documento no adjunto a una Ventana?

Estoy usando html2canvas para convertir el html a png, recibo el siguiente error:

 html2canvas.min.js:20 Uncaught (in promise) Error: Document is not attached to a Window at html2canvas.min.js:20:193237 at html2canvas.min.js:20:1976 at Object.next (html2canvas.min.js:20:2081) at html2canvas.min.js:20:1023 at new Promise (<anonymous>) at a (html2canvas.min.js:20:774) at Vs (html2canvas.min.js:20:192912) at html2canvas.min.js:20:196186 at takeScreenShot (set style [modal].html:94:7) at action (set style [modal].html:68:11)
 let htmlString = document.documentElement.innerHTML; let virtualDom = new DOMParser().parseFromString(htmlString, "text/html"); html2canvas(virtualDom.body).then((canvas) => { let base64image = canvas.toDataURL("image/png"); });

Si paso el DOM del navegador, está bien, pero necesito un nuevo DOM por alguna razón, por eso uso DOMParser . pregunta similar: enlace

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No hay una forma adecuada de hacerlo ahora. Retransmisión html2canvas en el objeto de ventana adjunto al elemento . Debido a que html2canvas ya permite pasar opciones relacionadas con defaultView a través del objeto de opciones, la protección que arroja un error parece un error porque debe verificar que se pasen todas las opciones necesarias. ¡Así que sería mejor abrir un problema allí!

Como solución, si confía en HTML, puede intentar usar iframe oculto, pero aún debe colocarse en el documento

 const html = "<div>Hello World!</div>"; const iframe = document.createElement("iframe"); document.body.appendChild(iframe); // 👈 still required iframe.contentWindow.document.open(); iframe.contentWindow.document.write(html); iframe.contentWindow.document.close(); html2canvas(iframe.contentWindow.document.body);
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!