Jun 26 2009
Come leggere il sorgente javascript di GA
Quello che vedete nell’immagine qui a fianco è un pezzo del codice sorgente del javascript di Google Analytics, per capirsi quello che è visibile all’indirizzo http://www.google-analytics.com/ga.js. Si tratta del file contenente tutte le funzioni di base che permettono al codice di catturare ed inviare i dati che poi leggiamo nei nostri report.
A tutti gli effetti è un normale file javascript, ma per contenerne le dimensioni gli ingegneri di Google hanno fatto due cose: hanno eliminato gli spazi superflui e gli “a capo” e hanno chiamato tutte le variabili e le funzioni con nomi di lettere, due cose che gli esseri umani non fanno mai quando scrivono codice, per leggibilità e manutenzione, ma che non dà nessun fastidio ai computer che le istruzioni le eseguono.
Se per caso avete necessità di leggere il sorgente, perché volete capire cosa fa una certa funzione, perché volete estenderla o per curiosità, è indubbiamente più utile far tornare almeno gli spazi e i ritorni di riga, visto che non è possibile riassegnare alle funzioni nomi parlanti in modo automatico. Per avere un file leggibile basta andare all’url del sorgente, selezionarlo tutto e copiarlo, e poi incollarlo nello strumento Javascript Beautifier, che ce ne renderà una versione decisamente più digeribile per i nostri occhi. Le prime righe ad esempio diventano:
var _gat = new Object({
c: "length",
lb: "4.3.1",
il che tra l’altro mi fa notare al volo che la versione corrente dello script è passata da 4.3 a 4.3.1. Probabilmente in concomitanza con l’introduzione di Bing tra i motori di ricerca riconosciuti.
[tnx to AnalyticsPros]
Si nel file Javascript compare “bing”, poi essendo statico si può vedere la data di ultima modifica: 22 giugno ore 20
Non condivido la scelta di fare elaborare così tante informazioni lato client, addirittura anche il motore di provenienza.
Con un modifica del file di host e del javascript potrei modificare in eccesso i miei dati o quelli di chi voglio anche a sua insaputa.
il motore deve essere elaborato dal client perché esiste una funzione che ti permette di aggiungere motori. Se fossero elaborati da google ci sarebbero due posti diversi dove fare lo stesso mestiere.
Per quanto riguarda le alterazioni, ci sono diversi modi di alterare le tue o le altrui statistiche, fa parte del modo di funzionare del sistema. Non ne vedo l’utilità ma ho spiegato in passato come difendersi da gonfiaggi esterni (dai propri non ce n’è bisogno 😛 )