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

147
Visualizações
¿Puedo usar JS para agregar async a una etiqueta de script en un iframe de tal manera que realmente afecte la carga de la página del script?

Parece que Stripe JavaScript está agregando casi 1/2 segundo de bloqueo de hilo principal a mi sitio. De acuerdo con la documentación de Stripe , está totalmente bien async o defer su JS. De hecho, dicen que si lo incluyes a través npm lo hace automáticamente. Esto es probablemente lo que habría hecho si estuviera implementando esto por mi cuenta, pero estoy usando Stripe a través de un complemento de WordPress que, independientemente de lo que estén haciendo, está incorporando Stripe JS a través de un iFrame, y no configurando async :

 <iframe name="__privateStripeController5481" ...> <!DOCTYPE html> <html lang="en"> <head> <script src="https://js.stripe.com/v3/fingerprinted/js/shared-0950781806f615c0693abdcbbb4bfc19.js"></script> <script src="https://js.stripe.com/v3/fingerprinted/js/controller-842819e3871bc12ac5b51fa16b375c03.js"></script> </head> <body></body> </html> </iframe>

Estoy pensando que debería haber alguna forma de solucionar esto, sin esperar a que los desarrolladores de complementos lo hagan por su cuenta. Mi idea es hacer algo como:

 document.getElementById('ifrm').onload = function() { const ifrm = document.getElementById('ifrm'); const scripts = ifrm.contentDocument? ifrm.contentDocument: ifrm.contentWindow.document.getElementsByTagName('script'); for (const element of scripts) { element.hasAttribute('async') ? {} : element.setAttribute('async', ''); } };

Pero onload , estoy bastante seguro, será demasiado tarde. ¿Hay alguna manera de lograr esta modificación de modo que suceda lo suficientemente pronto como para que los scripts en el iFrame terminen sin bloquear?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No, no puede cambiar la forma en que se procesa la etiqueta de secuencia de script después de que el navegador la haya leído del HTML y haya comenzado a procesarla. (Sobre todo porque su página y el iframe se ejecutan en el mismo subproceso principal de la interfaz de usuario: el mismo subproceso está bloqueado por esa etiqueta de secuencia de script ).

Tendrás que modificar el código del plugin. (Y tal vez hacer una PR para que los mantenedores del proyecto del complemento lo adopten).

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