web-dev-qa-db-de.com

Welche Browser unterstützen <script async = "async" />?

Am 1. Dezember 2009 gab Google die Unterstützung für asynchrones Google Analytics-Tracking bekannt.

Das asynchrone Tracking wird mit der Async-Direktive für das <script> Etikett.

Welche Browser unterstützen die Async-Direktive (<script async="async" />) und seit welcher version?

189
knorv

Die von Google angegebene asynchrone Unterstützung besteht aus zwei Teilen:

  • verwenden Sie ein Skript auf Ihrer Seite (das Skript wird von Google bereitgestellt), um ein <script> -Tag in das DOM zu schreiben.

  • dieses Skript hat das Attribut async = "true", um kompatiblen Browsern zu signalisieren, dass es die Seite weiterhin rendern kann.

Der erste Teil funktioniert mit Browsern ohne Unterstützung für <script async.. -Tags, mit denen sie asynchron mit einem "Hack" laden können (obwohl ein ziemlich solider), und die Seite rendern können, ohne darauf zu warten, dass ga.js abgerufen werden.

Der zweite Teil betrifft nur kompatible Browser, die das Attribut async html verstehen

  • FF 3.6+
  • FF für Android Alle Versionen
  • IE 10+ (beginnend mit Vorschau 2)
  • Chrome 8+
  • Chrome für Android Alle Versionen
  • Safari 5.0+
  • iOS Safari 5.0+
  • Android Browser 3.0+ (Honeycomb aufwärts)
  • Opera 15.0+
  • Opera Mobile 16.0+
  • Opera Mini Keine (Stand 8.0)

Die "html5 richtige" Art, Async anzugeben, ist mit einem <script async src="...", nicht <script async="true". Anfänglich unterstützten Browser diese Syntax jedoch nicht, und sie unterstützten auch nicht das Festlegen der Skripteigenschaft für referenzierte Elemente. Wenn Sie dies möchten, ändert sich die Liste:

  • FF 4+
  • IE 10+ (Vorschau 2 und höher)
  • Chrome 12+
  • Chrome für Android 32+
  • Safari 5.1+
  • Nein Android Versionen
160
Philip Rieck

Diese Frage besteht aus zwei Teilen.

  1. F: Welche Browser unterstützen das Attribut "async" in einem Skript-Tag im Markup?

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

  2. F: Welche Browser unterstützen die neue Spezifikation, die das Verhalten für "async" property in JavaScript für ein dynamisch erstelltes Skriptelement definiert?

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

Opera steht kurz vor der Veröffentlichung einer Version, die beide Arten von Async unterstützt. Ich habe eng mit ihnen zusammengearbeitet und es sollte bald herauskommen (hoffe ich!).

Weitere Informationen zu orders-async (auch bekannt als "async = false") finden Sie hier: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order

Um zu testen, ob ein Browser das neue Verhalten der dynamischen asynchronen Eigenschaften unterstützt, gehen Sie wie folgt vor: http://test.getify.com/test-async/

60
Kyle Simpson

Eine umfassende Liste der Browserversionen, die den Parameter async unterstützen, ist verfügbar hier

25
JeremiahLee

Von Ihrer referenzierten Seite:

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

Firefox 3.6 ist der erste Browser, der diese neue Funktion offiziell unterstützt. Wenn Sie neugierig sind, finden Sie hier weitere Details zum offiziellen asynchrone HTML5-Spezifikation .

10
tvanfosson

Das async wird derzeit von allen aktuellen Versionen der wichtigsten Browser unterstützt. Es wird seit einigen Jahren von den meisten Browsern unterstützt.

Auf der MDN-Website können Sie nachverfolgen, welche Browser Async (und Defer) unterstützen:
https://developer.mozilla.org/en-US/docs/HTML/Element/script

1
brunoais

Schauen Sie sich einfach das DOM (document.scripts [1] .attributes) dieser Seite an, das Google Analytics verwendet. Ich kann Ihnen sagen, dass Google async = "" verwendet.

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