Le 1er décembre 2009, Google a annoncé la prise en charge du suivi asynchrone de Google Analytics .
Le suivi asynchrone est réalisé à l'aide de la directive async pour la <script>
balise.
Quels navigateurs prennent en charge la directive async ( <script async="async" />
) et depuis quelle version?
Réponses:
La prise en charge asynchrone spécifiée par google est obtenue en utilisant deux parties:
en utilisant un script sur votre page (le script est fourni par Google) pour écrire une balise <script> dans le DOM.
ce script a l'attribut async = "true" pour signaler aux navigateurs compatibles qu'il peut continuer à afficher la page.
La première partie fonctionne sur les navigateurs sans prise en charge de
<script async..
balises, leur permettant de charger async avec un "hack" (bien que assez solide), et permet également de rendre la page sans attendre que ga.js soit récupéré.La deuxième partie n'affecte que les navigateurs compatibles qui comprennent l' attribut html asynchrone
La façon "html5 appropriée" de spécifier async est avec a
<script async src="..."
, not<script async="true"
. Cependant, au départ, les navigateurs ne prenaient pas en charge cette syntaxe, ni la définition de la propriété de script sur les éléments référencés. Si vous le souhaitez, la liste change:la source
setAttribute
, ce qui n'est pas recommandé) doit simplement être présent ou être défini sur une chaîne vide ou lui-même (defer="defer"
, particulièrement important lors de l'écriture de documents conformes XHTML); lors de la définition de la propriété de l'élément à la volée à l'aide de JavaScript, il faut utilisers.async = true
.true
; soitasync
,async=""
soitasync="async"
.async="true"
. Ce n'est pas la bonne façon de le faire maintenant , mais c'était la seule façon largement prise en charge à l' époque . Par exemple, IE10p2 est pris en chargeasync="true"
mais ne prend pas en chargeasync="async"
Cette question comporte en réalité deux parties.
Q: Quels navigateurs prennent en charge l'attribut "async" sur une balise de script dans le balisage?
R: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+
Q: Quels navigateurs prennent en charge la nouvelle spécification qui définit le comportement de la propriété "async" en JavaScript, sur un élément de script créé dynamiquement?
R: IE10p2 +, Chrome 12+, Safari 5.1+, Firefox 4+
Quant à Opera, ils sont sur le point de sortir une version qui supportera les deux types d'async. J'ai travaillé en étroite collaboration avec eux à ce sujet, et cela devrait bientôt sortir (j'espère!).
Plus d'informations sur l'async ordonné (alias "async = false") peuvent être trouvées ici: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order
De plus, pour tester si un navigateur prend en charge le nouveau comportement de la propriété asynchrone dynamique: http://test.getify.com/test-async/
la source
Une liste complète des versions de navigateur prenant en charge le
async
paramètre est disponible icila source
Depuis votre page référencée:
http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html
la source
Le
async
est actuellement pris en charge par toutes les dernières versions des principaux navigateurs. Il est pris en charge depuis quelques années sur la plupart des navigateurs.Vous pouvez suivre les navigateurs qui prennent en charge l'async (et diffèrent) sur le site Web de MDN ici:
https://developer.mozilla.org/en-US/docs/HTML/Element/script
la source
Je viens de jeter un œil au DOM (document.scripts [1] .attributes) de cette page qui utilise google analytics. Je peux vous dire que Google utilise async = "".
la source