Em 1º de dezembro de 2009, o Google anunciou o suporte ao rastreamento assíncrono do Google Analytics .
O rastreamento assíncrono é obtido usando a diretiva async da <script>
tag.
Quais navegadores suportam a diretiva assíncrona ( <script async="async" />
) e desde qual versão?
Respostas:
O suporte assíncrono conforme especificado pelo google é obtido usando duas partes:
usando script na sua página (o script é fornecido pelo google) para gravar uma tag <script> no DOM.
esse script possui o atributo async = "true" para sinalizar aos navegadores compatíveis que ele pode continuar renderizando a página.
A primeira parte funciona em navegadores sem suporte para
<script async..
tags, permitindo que eles carreguem de forma assíncrona um "hack" (embora bastante sólido), e também permite renderizar a página sem esperar pela recuperação do ga.js.A segunda parte afeta apenas navegadores compatíveis que entendem o atributo async html
A maneira "html5 apropriada" de especificar assíncrona é com a
<script async src="..."
, não<script async="true"
. No entanto, inicialmente os navegadores não suportavam essa sintaxe, nem a configuração da propriedade de script nos elementos referenciados. Se você deseja isso, a lista muda:fonte
setAttribute
, o que não é recomendado) deve estar presente ou ser definido como uma string vazia ou ela mesma (defer="defer"
, especialmente importante ao escrever documentos compatíveis com XHTML); ao definir a propriedade do elemento rapidamente usando JavaScript, deve-se usars.async = true
.true
; querasync
,async=""
ouasync="async"
.async="true"
. Não é a maneira correta de fazê-lo agora , mas era a única maneira amplamente apoiada a fazê-lo depois . Por exemplo, IE10p2 suportado,async="true"
mas não suportadoasync="async"
Há duas partes nessa questão, realmente.
P: Quais navegadores oferecem suporte ao atributo "async" em uma marca de script na marcação?
R: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+
P: Quais navegadores suportam a nova especificação que define o comportamento da propriedade "assíncrona" no JavaScript, em um elemento de script criado dinamicamente?
R: IE10p2 +, Chrome 12+, Safari 5.1+, Firefox 4+
Quanto ao Opera, eles estão muito perto de lançar uma versão que suportará os dois tipos de assíncrono. Eu tenho trabalhado com eles de perto nisso, e deve sair em breve (espero!).
Pode encontrar mais informações sobre ordenado-assíncrono (aka, "async = falso") aqui: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order
Além disso, para testar se um navegador suporta o novo comportamento de propriedade assíncrona dinâmica: http://test.getify.com/test-async/
fonte
Uma lista abrangente de versões do navegador que suportam o
async
parâmetro está disponível aquifonte
Na sua página de referência:
http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html
fonte
O
async
é suportado por todas as versões mais recentes dos principais navegadores. Ele é suportado há alguns anos na maioria dos navegadores.Você pode acompanhar quais navegadores suportam async (e diferem) no site da MDN aqui:
https://developer.mozilla.org/en-US/docs/HTML/Element/script
fonte
Basta dar uma olhada no DOM (document.scripts [1] .attributes) desta página que usa o Google Analytics. Posso dizer que o Google está usando async = "".
fonte