analytics_logoIeri Google ha annunciato la possibilità di inserire all’interno delle pagine web un nuovo tipo di codice javascript per il tracking degli accessi tramite Google Analytics:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
        'http://www') + '.google-analytics.com/ga.js';
    ga.setAttribute('async', 'true');
    document.documentElement.firstChild.appendChild(ga);
  })();

</script>

dove ovviamente al posto di UA-XXXXX-X va inserito il codice del sito da monitorare.

Il nuovo codice rappresenta un importante miglioramento per le performance di visualizzazione delle pagine: spesso capita che il caricamento della pagina non venga completato immediatamente a causa proprio del codice di tracking precedente (chi non ha mai visto almeno una volta il caricamento di una pagina bloccarsi sulla richiesta verso “www.google-analytics.com”). Quest’ultimo infatti viene eseguito in modalità bloccante dal browser, ritardando l’esecuzione delle successive istruzioni javascript che, soprattutto con l’utilizzo delle moderne librerie javascript tipo jQuery o Prototype, spesso vengono eseguite solo al completo caricamento del documento .

Il nuovo codice di tracking sfrutta una metodologia per l’esecuzione asincrona descritta qui, sostanzialmente si tratta di inserire il tag <script> relativo al tracker all’interno della pagina mediante l’istruzione javascript document.createElement e di appenderlo all’albero DOM della pagina mediante l’istruzione document.documentElement.firstChild.appendChild, dopo aver settato l’attributo async a true.

Un piccolo passo per l’uomo…

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • Live
  • MySpace
  • Posterous
  • RSS
  • Segnalo
  • Slashdot
  • Technorati
  • Tumblr
  • Twitter
  • Yahoo! Buzz