• User

    Ottimizzazione caricamento script

    Ciao a tutti,

    su suggerimento del vostro Maurizio ZioPal apro un thread in ques'area per avere qualche consiglio sul caricamento degli script js che ho con inserito nel blog che gestico. Premetto che il blog è ospitato su Blogger e che preferisco, se possibile, non fare uso dei widget da loro forniti per le varie funzionalità accessorie.

    Vengo al PRIMO punto, PageSpeed Insights mi ha dato un 93 su 100 che da quanto ho capito non è male. Però tra i primi messaggi mi viene segnalato questo:

    Rimanda l'analisi del codice JavaScript: By minimizing the amount of Javascript needed to render the page, and deferring parsing of unneeded JavaScript until it needs to be executed, you can reduce the initial load time of your page[INDENT]
    1 MiB di codice JavaScript viene analizzato durante il caricamento iniziale della pagina. Rimanda l'analisi del codice JavaScript per ridurre il blocco del rendering della pagina.

    hiip://static.ak.fbcdn.net/rsrc.php/v2/yY/r/khy2PRF5Kk3.js (226,9 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/y6/r/EGe1aK8ApNJ.js (223,6 KiB)
    hiip://code.jquery.com/jquery-1.7.2.min.js (86 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/yP/r/Dm8pHFYUiSZ.js (80,1 KiB)
    hiip://vvv.blogger.com/.../1057166316-widgets.js (62,3 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/ym/r/a_cf3mlYNJT.js (59,9 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/yh/r/V7R_SV8Gw2r.js (44,3 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/ym/r/zm5jXlpEqWp.js (41,7 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/yz/r/ADRwyzD0HE4.js (25,5 KiB)
    hiip://platform.twitter.com/.../tweet_button.1340179658.html (22 KiB del codice JavaScript incorporato)
    hiip://static.ak.facebook.com/.../xd_arbiter.php?... (20,8 KiB del codice JavaScript incorporato)
    hiips://s-static.ak.facebook.com/.../xd_arbiter.php?... (20,8 KiB del codice JavaScript incorporato)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/yc/r/apK8holBVVk.js (14,2 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/y3/r/QNqN9ImEIoC.js (6,7 KiB)
    hiip://vvv.zombiekb.com/ (6,4 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,3 KiB del codice JavaScript incorporato)
    hiips://plusone.google.com/.../fastbutton?... (6,2 KiB del codice JavaScript incorporato)
    hiip://zombiekb.zymichost.com/LAB.min.js (4,9 KiB)
    hiip://static.ak.fbcdn.net/rsrc.php/v2/yC/r/nyNVfdSUdxn.js (4,6 KiB)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../like.php?... (2,8 KiB del codice JavaScript incorporato)
    hiip://vvv.facebook.com/.../likebox.php?... (2,2 KiB del codice JavaScript incorporato)
    hiip://vvv.blogger.com/navbar.g?... (124 B del codice JavaScript incorporato)
    

    [/INDENT]
    [INDENT]
    [/INDENT]
    Come vedete qui sopra, gli script di Facebook e Google Plus vengono caricati per ciascuno dei post presenti nella pagina. Non esiste un modo per evitare questo scempio di risorse e tempo?

    Il SECONDO punto è che vorrei raggiungere è snellire o migliorare la velocità ci caricamento dei vari script che uso:

    jquery-1.7.2.min.js il famoso jquery, lo uso per il menù a tendina e per un popup che compare nelle pagine dei singoli post una volta arrivati in fondo. L'ho messo prima dell'apertura del <body>

    Ho fatto la conoscenza di LABjs Script Loader poco tempo fa e mi sembra abbia migliorato un po' il caricamento di tutto. Però devo ammettere che non sono molto esperto e tra le varie soluzioni che ho trovato (ad esempio su stackoverflow.com) questo LABjs mi è sembrato abbastanza semplice da implementare.

    <script src='//LAB.min.js'/>
    <script>
    $LAB
    .script(&quot;//slidemenu_horiz_comp.js&quot;)
    .script(&quot;//google.com/jsapi&quot;)
    .script(&quot;//linkwithin.com/widget.js&quot;)
    .script(&quot;//intensedebate.com/comment/blogger&quot;)
    .script(&quot;//platform.twitter.com/widgets.js&quot;)
    .script(&quot;//apis.google.com/js/plusone.js&quot;)
    </script>
    

    Sono riuscito a infilarci dentro lo script che fa funzionare il menù, il google jsapi (ancora non mi è ben chiaro cosa faccia), linkwithin (forse ce ne sono di più leggeri ma questo è egregiamente customizzabile), intense debate (a suo tempo disqus non era all'altezza ma oggi intense debate mi sembra diventato pesante), **twitter **e il pulsante plus one di google.

    Avrei voluto metterci dentro anche il pulsante mi piace di **Facebook **ma purtroppo non funziona qui. Questo pulsante è forse una delle cose più lente che abbia mai visto. Non ho capito come fanno molti siti a caricarlo così velocemente. Sono riuscito a migliorare qualcosa usando la versione XFBML ma ho dovuto inglobarlo dentro uno dei terribili widget di Blogger altrimenti non funzionava restituendomi errori di sintassi inspiegabili. A questo si aggiunge, sempre inglobato in un widget, il box sulla sidebar con i mi piace al sito e le miniature degli utenti...questo ho l'impressione sia pesantino, ne vedo pochi in giro ed è sempre cariacto per ultimo!

    A chiudere il cerchio ci stanno un gruppetto di script prima della chiusura del </body> ovvero il codice di Google Analitycs, Histats asincrono (dite che averne due è inutile?) ed il codice del popup stile slidebox che citavo all'inizio.

    Ringrazio tutti quanti riescono a prestarmi aiuto 🙂

    Ciao!


  • User

    Forse ho scritto troppo... 😄