web-dev-qa-db-fra.com

Quels navigateurs prennent en charge <script async = "async" />?

Le 1er décembre 2009, Google a annoncé la prise en charge de suivi Google Analytics asynchrone .

Le suivi asynchrone est réalisé à l'aide de la directive async pour la balise <script>.

Quels navigateurs prennent en charge la directive async (<script async="async" />) et depuis quelle version?

189
knorv

Le support async tel que spécifié par google est réalisé en deux parties:

  • en utilisant un script sur votre page (le script est fourni par Google) pour écrire une balise <script> dans le DOM.

  • l'attribut async = "true" de ce script indique aux navigateurs compatibles qu'il peut continuer à afficher la page.

La première partie fonctionne sur les navigateurs ne prenant pas en charge les balises <script async.., leur permettant de charger async avec un "hack" (bien que très solide), et permet également le rendu de la page sans attendre que ga.js soit récupéré.

La deuxième partie ne concerne que les navigateurs compatibles comprenant l’async attribut html

  • FF 3.6+
  • FF pour Android Toutes les versions
  • IE 10+ (en commençant par l'aperçu 2)
  • Chrome 8+
  • Chrome For Android Toutes les versions
  • Safari 5.0+
  • iOS Safari 5.0+
  • Android Browser 3.0+ (nid d'abeille sur)
  • Opera 15.0+
  • Opera Mobile 16.0+
  • Opera Mini Aucun (à partir de 8.0)

La manière "html5 correcte" de spécifier async est avec un <script async src="...", pas <script async="true". Cependant, initialement, 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:

  • FF 4+
  • IE 10+ (aperçu 2 et plus)
  • Chrome 12+
  • Chrome For Android 32+
  • Safari 5.1+
  • Pas de _ Android versions
160
Philip Rieck

En réalité, cette question comporte deux parties.

  1. Q: Quels navigateurs prennent en charge l'attribut "async" sur une balise de script dans le balisage?

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

  2. 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éé de manière dynamique?

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

Quant à Opera, ils sont sur le point de publier une version prenant en charge les deux types d’async. J'ai travaillé étroitement avec eux sur ce sujet, et il devrait sortir bientôt (j'espère!).

Vous trouverez plus d’informations sur les commandes asynchrones ("async = false") ici: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

En outre, pour vérifier si un navigateur prend en charge le nouveau comportement de propriété asynchrone dynamique: http://test.getify.com/test-async/

60
Kyle Simpson

Une liste complète des versions de navigateur prenant en charge le paramètre async est disponible ici

25
JeremiahLee

De votre page référencée:

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

Firefox 3.6 est le premier navigateur à offrir officiellement un support pour cette nouvelle fonctionnalité. Si vous êtes curieux, voici plus de détails sur la version officielle spécification HTML5 async. .

10
tvanfosson

La async est actuellement prise en charge par toutes les dernières versions des principaux navigateurs. Il est supporté depuis quelques années sur la plupart des navigateurs.

Vous pouvez savoir quels navigateurs prennent en charge l'async (et différer) sur le site Web MDN ici:
https://developer.mozilla.org/en-US/docs/HTML/Element/script

1
brunoais

Je viens de jeter un coup d'oeil au DOM (document.scripts [1] .attributes) de cette page qui utilise Google Analytics. Je peux vous dire que Google utilise async = "".

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