Il lavoro di snippet di analisi asincrona consiste nel caricare uno script più intenso che ispeziona il browser dell'utente per tutti i tipi di informazioni per identificarli, in modo che possa eseguire il report al server di analisi. Tuttavia, poiché tutti questi dati di analisi non sono fondamentali per l'usabilità della pagina, Google desidera eseguirlo a proprio piacimento.
In teoria, potevano consigliare al programmatore di aggiungere lo snippet asincrono all'estremità inferiore della pagina, come ultimo elemento del corpo. Tuttavia, al fine di consentire al programmatore di acquisire gli eventi dell'interfaccia utente da inviare agli analytics, essi desiderano rendere la variabile _gaq
da utilizzare in anticipo. Ad esempio, potresti avere un pulsante: <button onclick="_gaq.push(...)">Track</button>
. Rendendo disponibile immediatamente _gaq
, il bit di codice nello snippet asincrono farà accodare questi messaggi e il più pesante ga.js
li invierà al server in un secondo momento.
Ora, alcuni implementation details: ga.js
viene caricato con l'aggiunta di un nuovo elemento <script>
alla testa documento con l'attributo async
set. IE e WebKit caricheranno in modo asincrono i tag <script>
inseriti dagli script. Firefox e Opera onoreranno l'attributo async
e caricheranno lo script in modo asincrono. In entrambi i casi, ga.js
viene caricato in modo asincrono, a discrezione del browser.
Infine, una volta ga.js
viene eseguito, senza bloccare il rendering delle pagine a causa del caricamento asincrono, che può fare il pesante lavoro di raccolta di tutti i dati degli utenti e gli eventuali messaggi nella coda _gaq
e inviarli al server.
Sommario: Questo approccio utilizza un piccolo script inline che inizializza alcune variabili chiave come _gaq
che la pagina può accedere prima della ga.js
script completo è pronto. Questo piccolo script aggiunge anche dinamicamente un tag <script src="ga.js">
al documento in modo tale che la maggior parte dei browser scaricherà ed eseguirà in modo asincrono, senza bloccare il rendering della pagina o la valutazione di script critici.
Inizialmente ho ridiscusso questa risposta, ma dopo averlo letto e riletto di nuovo ha senso ... questa è stata la parte che ha fatto scattare la lampadina per me ... "Infine, una volta ga.js viene eseguito, senza bloccare il il rendering della pagina a causa del caricamento asincrono, può fare il lavoro pesante di raccogliere tutti i dati dell'utente e tutti i messaggi nella coda _gaq e inviarli al server "... quindi sono fondamentalmente se metti gli script sul in fondo alla pagina, stai dicendo a google che non ti dispiace che gli script vengano caricati DOPO la pagina quindi vai avanti e carica anche l'analisi prima di loro! – concept47