Analitics Media Most Grabed
Parse dei risultati di google analitics
by leonardo_ciaccio
HTML
<input type="file" id="files" name="files[]" multiple />
<div id="list"></div>
JavaScript
/*
Coded by Leonardo Ciaccio
App name : Google analitics .csv viewer with object parameters
OBJ :
{"title":"","size":0,"type":"","urlMedia":"","urlSource":""}
Credits :
http://www.html5rocks.com/en/tutorials/file/dndfiles/
*/
var $ = function( selector ){
return document.querySelector( selector );
},
ptObj = /\{(.*?)}/gi;
function _getSize( size ){
size = parseInt( size );
var oneKB = 1024,
oneMB = oneKB * 1024,
oneGB = oneMB * 1024;
return ( size < oneKB ) ? size + " byte" :
( size < oneMB ) ? Math.round( ( size / oneKB ) * 100 ) / 100 + " KB" :
( size < oneGB ) ? Math.round( ( size / oneMB ) * 100 ) / 100 + " MB" : Math.round( ( size / oneGB ) * 100 ) / 100 + " GB" ;
}
function _parseObjAndPrint( txt ){
if( !txt )return null;
var objts = txt.replace( /""/gi,"\"" ).match( ptObj );
$( "#list" ).innerHTML = "";
for( var i = 0; i < objts.length; i++){
var mObj = JSON.parse( objts[ i ] ),
newP = document.createElement( "p" );
newP.innerHTML = "[" + mObj.type + "](" + _getSize( mObj.size ) + ")<a href='" + mObj.urlMedia + "' target='_blank'>" + mObj.title + "</a>";
$( "#list" ).appendChild( newP );
}
}
function handleFileSelect( evt ){
var files = evt.target.files,
reader = new FileReader();
if( !files[ 0 ] )return false;
reader.onload = ( function( theFile ){
return function( e ){
_parseObjAndPrint( e.target.result );
};
})( files[ 0 ] );
reader.readAsText( files[ 0 ] );
}
$( "#files" ).addEventListener( "change", handleFileSelect, false );