Continuo allora il discorso del comprimere:
Comprimere Javascript
Ci sono tanti software per comprimere Javascript.
I più famosi sono sicuramente JSMin, che ha una compressione leggera ed è piuttosto sicuro (non cambia il nome delle variabili) e Packer che ha una compressione piuttosto estrema.
Per questo c'è un sito eccezionale, The Javascript CompressorRater:
http://compressorrater.thruhere.net/
basterà inserire il JS nello spazio apposito e premere "CompressorRate It!"
A quel punto, dopo il caricamento, il sito vi mostrerà una serie di compressioni possibili (con JSMin, Packer, Dojo ShrinkSafe, Packer e gzip (che è inutilizzabile, ma vedremo dopo come fare)).
Cliccando su View potete vedere il risultato della compressione per copiarlo nel vostro script.
Sconsiglio come la peste le compressioni estreme come il base62 che si, riducono il peso ma rallentano parecchio l'esecuzione dello script che deve prima decodificare il codice
Andateci piano anche con le compressioni come Packer con shrink e Yui Compressor senza nomunge perchè cambiano il nome delle variabili per risparmiare spazio causando spesso problemi.
Consiglio le compressioni JSMin e Yui Compressor con nomunge.
JSLoader
Riprendendo il codice di FirtyFourEleven, ho scritto un minuscolo script che permette di caricare dinamicamente il JS che vi serve, comprimerlo con gzip, settare la cache e mandare l'output come text/javascript.
Io ho aggiunto solo un include e cambiato gli header, ci ho dato un nome solo per bullarmi un pò![]()
Ecco il codice:
Copiate e incollate il codice con il Blocco Note o qualsiasi altro software e salvate il file come jsloader.phpCodice PHP:<?php
ob_start ("ob_gzhandler");
header("Content-type: text/javascript; charset: UTF-8");
header("Cache-Control: must-revalidate");
$offset = 120 * 120;
$ExpStr = "Expires: " .
gmdate("D, d M Y H:i:s",
time() + $offset) . " GMT";
header($ExpStr);
include($_GET['js'].'.js');
?>
Adesso per caricare uno javascript basterà utilizzare questo codice:
Dove in "nomejavascript" va, appunto, il nome del file javascript senza l'estensione .jscodice:<script type="text/javascript" src="jsloader.php?js=nomejavascript"></script>
Buona ottimizzazione![]()

Rispondi quotando