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

139
Vistas
¿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 Respuestas
Responde la pregunta

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 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