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

138
Views
¿Cómo guardo el estado de la página con los resultados de ejecución de JavaScript y lo restauro más tarde?

Estoy desarrollando una extensión de Chrome para YouTube. La extensión escribe subtítulos alternativos con un comportamiento diferente. El archivo de subtítulos se toma de YouTube por el enlace.

Para poder mostrar los subtítulos cuando el video comience a reproducirse, tengo que descargar los archivos de los subtítulos antes de que se cargue el video. A baja velocidad de Internet, los archivos JSON de los subtítulos se cargan simultáneamente con la página de YouTube durante mucho tiempo.

Yo uso este enfoque. Para evitar que mi extensión compita con los scripts de YouTube, mi extensión:

  • llama a window.stop() al comienzo de la carga de la página.
  • Después de detener la descarga, descargo los archivos que necesito.
  • Luego, la extensión recarga la página.

Pero no me gustaría volver a cargar la página si hay entradas en window.history . Por supuesto, me gustaría bloquear el hilo de representación de la página, por ejemplo, mediante window.renderPause() y luego reanudarlo mediante window.renderResume() . No usaría window.stop() . Pero JavaScript no brinda esa oportunidad. ¿Cómo guardo el estado de la página con los resultados de ejecución de JavaScript y lo restauro más tarde? Este código no funciona para youtube. JavaScript de YouTube no se inicia.

 let clonedHtml = document.documentElement.cloneNode(true); let clonedWindow = Object.assign({}, window); document.documentElement.innerHTML = ""; window = clonedWindow; document.replaceChild(clonedHtml, document.documentElement);

No puedo usar window.history.back() o window.history.forward() porque window.stop() no permite cargar una página.

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

0

¿Desea evitar que el video comience antes de que se carguen los archivos de subtítulos? Restaurar el estado de la página en sí será muy complejo, no existe una solución genérica que funcione para todos los sitios web.

Para cargar sus subtítulos antes de que se carguen los scripts de YouTube:

  • Use [chrome.webRequest.onBeforeRequest][1] y reemplace la URL de subtítulos de YouTube con su propia URL de subtítulos (o reemplace el contenido del archivo después deRequest)

  • Consulte esta respuesta que engancha el evento de carga de la página donde puede buscar e inyectar sus subtítulos antes de que se cargue cualquier otra cosa.

Ambos métodos no requerirán una recarga de página adicional. [1]: https://developer.chrome.com/docs/extensions/reference/webRequest/

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!