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

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

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