El 1 de diciembre de 2009, Google anunció soporte para el seguimiento asincrónico de Google Analytics .
El seguimiento asincrónico se logra utilizando la directiva asíncrona para la <script>
etiqueta.
¿Qué navegadores admiten la directiva asíncrona ( <script async="async" />
) y desde qué versión?
Respuestas:
El soporte asíncrono según lo especificado por google se logra mediante dos partes:
usando el script en su página (el script es proporcionado por google) para escribir una etiqueta <script> en el DOM.
esa secuencia de comandos tiene el atributo async = "true" para indicar a los navegadores compatibles que puede continuar representando la página.
La primera parte funciona en navegadores sin soporte para
<script async..
etiquetas, permitiéndoles cargar asíncronamente con un "hack" (aunque bastante sólido), y también permite renderizar la página sin esperar que ga.js sea recuperada.La segunda parte solo afecta a los navegadores compatibles que entienden el atributo html asíncrono
La forma "html5 adecuada" de especificar asíncrono es con un
<script async src="..."
, no<script async="true"
. Sin embargo, inicialmente los navegadores no admitían esta sintaxis, ni admitían establecer la propiedad del script en elementos referenciados. Si quieres esto, la lista cambia:fuente
setAttribute
, lo que no se recomienda) solo debe estar presente o configurado en una cadena vacía o en sí mismo (defer="defer"
, especialmente importante al escribir documentos compatibles con XHTML); al configurar la propiedad del elemento sobre la marcha usando JavaScript, se debe usars.async = true
.true
; ya seaasync
,async=""
oasync="async"
.async="true"
. No es la forma correcta de hacerlo ahora , pero fue la única forma ampliamente compatible de hacerlo ese momento . Por ejemplo, IE10p2 es compatibleasync="true"
pero no es compatibleasync="async"
Hay dos partes en esta pregunta, realmente.
P: ¿Qué navegadores admiten el atributo "asíncrono" en una etiqueta de script en marcado?
A: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+
P: ¿Qué navegadores admiten la nueva especificación que define el comportamiento de la propiedad "asíncrona" 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 tipos de asíncrono. He estado trabajando con ellos de cerca en esto, y debería salir pronto (¡espero!).
Se puede encontrar más información sobre ordenado-asíncrono (también conocido como "async = false") aquí: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order
Además, para probar si un navegador admite el nuevo comportamiento de la propiedad dinámica asíncrona: http://test.getify.com/test-async/
fuente
Una lista completa de las versiones del navegador que admiten el
async
parámetro está disponible aquífuente
Desde su página de referencia:
http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html
fuente
El
async
está actualmente admitidos por todas las últimas versiones de los principales navegadores. Ha sido compatible durante algunos años en la mayoría de los navegadores.Puede realizar un seguimiento de qué navegadores admiten asíncrono (y diferir) en el sitio web de MDN aquí:
https://developer.mozilla.org/en-US/docs/HTML/Element/script
fuente
Acabo de echar un vistazo al DOM (document.scripts [1] .attributes) de esta página que usa google analytics. Te puedo decir que google está usando async = "".
fuente