Am 1. Dezember 2009 kündigte Google die Unterstützung für asynchrones Google Analytics-Tracking an .
Die asynchrone Verfolgung wird mithilfe der asynchronen Anweisung für das <script>
Tag erreicht.
Welche Browser unterstützen die asynchrone Direktive ( <script async="async" />
) und seit welcher Version?
Antworten:
Die von Google angegebene asynchrone Unterstützung wird aus zwei Teilen erreicht:
Verwenden Sie das 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 weiter rendern kann.
Der erste Teil funktioniert mit Browsern ohne Unterstützung für
<script async..
Tags, sodass diese asynchron mit einem "Hack" geladen werden können (obwohl dies ein ziemlich solider ist) und die Seite gerendert werden kann, ohne darauf zu warten, dass ga.js abgerufen wird.Der zweite Teil betrifft nur kompatible Browser, die das asynchrone HTML-Attribut verstehen
Die "richtige HTML5-Methode" zum Festlegen von Async ist a
<script async src="..."
, nicht<script async="true"
. Anfangs unterstützten Browser diese Syntax jedoch nicht und auch nicht das Festlegen der Skripteigenschaft für referenzierte Elemente. Wenn Sie dies möchten, ändert sich die Liste:quelle
setAttribute
, was nicht empfohlen wird) sollte nur vorhanden sein oder entweder auf eine leere Zeichenfolge oder auf sich selbst festgelegt werden (defer="defer"
besonders wichtig beim Schreiben von XHTML-kompatiblen Dokumenten); Wenn Sie die Eigenschaft des Elements im laufenden Betrieb mit JavaScript festlegen, sollten Sie Folgendes verwendens.async = true
.true
; entwederasync
,async=""
oderasync="async"
.async="true"
. Es ist nicht der richtige Weg, es jetzt zu tun , aber es war der einzige weithin unterstützte Weg, es damals zu tun . Zum Beispiel IE10p2 unterstütztasync="true"
, aber nicht unterstütztasync="async"
Diese Frage besteht eigentlich aus zwei Teilen.
F: Welche Browser unterstützen das Attribut "async" für ein Skript-Tag im Markup?
A: IE10p2 +, Chrome 11+, Safari 5+, Firefox 3.6+
F: Welche Browser unterstützen die neue Spezifikation, die das Verhalten der Eigenschaft "async" 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 (ich hoffe!).
Weitere Informationen zu ordered-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: http://test.getify.com/test-async/
quelle
Eine umfassende Liste der Browserversionen, die den
async
Parameter unterstützen, finden Sie hierquelle
Von Ihrer referenzierten Seite:
http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html
quelle
Das
async
wird derzeit von allen neuesten Versionen der wichtigsten Browser unterstützt. Es wird seit einigen Jahren in 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
quelle
Wir haben uns gerade das DOM (document.scripts [1] .attributes) dieser Seite angesehen, das Google Analytics verwendet. Ich kann Ihnen sagen, dass Google async = "" verwendet.
quelle