¿Qué browseres son compatibles con <script async = "async" />?

El 1 de diciembre de 2009, Google anunció la compatibilidad con el seguimiento asynchronous de Google Analytics .

El seguimiento asynchronous se logra utilizando la directiva async para la label <script> .

¿Qué browseres son compatibles con la directiva async ( <script async="async" /> ) y desde qué versión?

El soporte asíncrono especificado por google se logra utilizando dos partes:

  • utilizar script en su página (el script es provisto por google) para escribir una label <script> en el DOM.

  • esa secuencia de commands tiene el atributo async = "true" para indicarle a los browseres compatibles que puede seguir renderizando la página.

La primera parte funciona en browseres sin soporte para las tags <script async.. , lo que les permite cargar de forma asincrónica con un "hack" (aunque es bastante sólido), y también permite renderizar la página sin esperar a que se recupere ga.js.

La segunda parte solo afecta a los browseres compatibles que entienden el atributo async html

  • FF 3.6+
  • FF para Android Todas las versiones
  • IE 10+ (comenzando con la vista previa 2)
  • Chrome 8+
  • Chrome para Android Todas las versiones
  • Safari 5.0+
  • iOS Safari 5.0+
  • Android Browser 3.0+ (nido de abeja en marcha)
  • Opera 15.0+
  • Opera Mobile 16.0+
  • Opera Mini Ninguno (a partir de 8.0)

La forma "html5 adecuada" para especificar async es con un <script async src="..." , no <script async="true" . Sin embargo, inicialmente los browseres no admitían esta syntax, ni admitían establecer la propiedad del script en los elementos a los que se hacía reference. Si quieres esto, la list cambia:

  • FF 4+
  • IE 10+ (vista previa 2 y superior)
  • Chrome 12+
  • Chrome para Android 32+
  • Safari 5.1+
  • Sin versiones de Android

Hay dos partes en esta pregunta, realmente.

  1. P: ¿Qué browseres admiten el atributo "async" en una label de secuencia de commands en el marcado?

    A: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+

  2. P: ¿Qué browseres admiten la nueva especificación que define el comportamiento para la propiedad "async" en JavaScript, en un elemento de script creado dinámicamente?

    A: IE10p2 +, Chrome 12+, Safari 5.1+, Firefox 4+

En cuanto a Opera, están muy cerca de lanzar una versión que admitirá ambos types de asynchronization. He estado trabajando con ellos de cerca en esto, y debería salir pronto (¡espero!).

Puede encontrar más información sobre order-async (también conocido como "async = false") aquí: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

Además, para probar si un browser admite el nuevo comportamiento de propiedad asíncrono dynamic: http://test.getify.com/test-async/

Aquí encontrará una list completa de las versiones de browser que admiten el parámetro async .

De su página referenceda:

http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html

Firefox 3.6 es el primer browser que ofrece soporte oficialmente para esta nueva característica. Si tiene curiosidad, aquí hay más detalles sobre la especificación asíncrona HTML5 oficial.

La async actualmente es compatible con todas las versiones más recientes de los principales browseres. Ha sido soportado desde hace algunos años en la mayoría de los browseres.

Puede realizar un seguimiento de los browseres que admiten asynchronization (y diferir) en el website de MDN aquí:
https://developer.mozilla.org/en-US/docs/HTML/Element/script

Solo eché un vistazo al DOM (document.scripts [1] .attributes) de esta página que usa Google Analytics. Puedo decirte que google está usando async = "".

 [type="text/javascript", async="", src="http://www.google-analytics.com/ga.js"]