Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

140
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda