Esta pregunta es una especie de tangente a Which browsers support <script async="async" />?.¿Es útil el atributo/propiedad "asincrónico" si un script se agrega dinámicamente al DOM?
que he visto unos cuantos scripts últimamente que hacer algo como esto:
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'http://www.example.com/script.js';
document.getElementsByTagName('head')[0].appendChild(s);
Esta es una forma común para agregar una secuencia de comandos para el DOM dinámicamente, lo que, IIRC del libro de Steve Souders "Even Faster Web Sites" solicita a todos los navegadores modernos que carguen el script de forma asíncrona (es decir, que no bloqueen el procesamiento de la página ni la descarga de los activos posteriores).
Si estoy en lo correcto en eso, ¿tiene alguna utilidad la declaración s.async = true
? ¿No sería redundante, incluso para los navegadores que admiten esa propiedad, ya que una secuencia de comandos adjunta dinámicamente debería desencadenar la descarga asincrónica?
Sería interesante con una actualización de respuesta sobre las versiones recientes del navegador. Actualmente uso 's.setAttribute (" async "," ");'. ¿Sabes si eso funciona? – Gruber
¿Hay alguna insignia para "volver 6 años después a aceptar una respuesta que ha sido correcta todo el tiempo, al tiempo que hace que la respuesta recientemente aceptada se contradiga porque se refiere a la respuesta aceptada como incorrecta, cuando acaba de convertirse en la correcta responder a sí mismo? " – Bungle