Pubblicato il 02/02/10 - aggiornato il  | 8 commenti :

Come aggiungere il widget degli ultimi commenti direttamente nel modello di Blogger senza caricare nessuno script.

Noi blogger abbiamo sempre avuto il problema di caricare su hosting gratuiti i file javascript che servono per i widget del blog. All'inizio li postavamo su Google Page Creator che in seguito è stato chiuso, successivamente è stata la volta di Skydrive che però nel caso dei file javascript ha dato un sacco di problemi da subito.

Abbiamo cercato alternative con MyDataNest e con Dropbox ma l'affidabilità di questi servizi non è assicurata al 100%. Finalmente attraverso l'opzione Crea pagina > Schedario è stato possibile caricare questi tipi di file su Google Sites, servizio di Google quindi si pensava di non avere brutte sorprese. 

Quest'ultime invece ci sono state e il mio blog ha avuto problemi già due e tre volte, contando solo quelle di cui mi sono reso conto. A questo fatto ampiamente noto se ne è aggiunto un altro di difficile interpretazione.  Dall'inizio dell'anno infatti sarà applicato con gradualità un nuovo algoritmo alle ricerche di Google che avrà nella "velocità di caricamento" uno dei parametri principali per la determinazione delle SERP.

Ho deciso quindi di adoperarmi nell'inserire gli script direttamente nel modello invece di ospitarli in spazi esterni. Questo significa che il browser avrà meno richieste di indirizzi a beneficio della rapidità di apertura della pagina. Inoltre non ci saranno più problemi per eventuali black-out dei siti su cui erano ospitati i file.

Dopo averlo fatto con il menù orizzontale e con il widget di benvenuto sono arrivato finalmente all'ultimo script, quello dei commenti recenti. Se anche voi volete inserire questo widget nel modello per le ragioni appena illustrate andate su Layout > Modifica HTML e, dopo aver salvato il modello completo, cercate la riga

</head>

quindi, immediatamente sopra, incollate il seguente codice

<!--COMMENTI RECENTI INIZIO-->
<script type='text/javascript'>
//<![CDATA[
//Commenti Recenti by Parsifal32 - http://parsifal32.blogspot.com
function showrecentcomments(json){for(var i=0;i<a_rc;i++){var b_rc=json.feed.entry[i];var c_rc;if(i==json.feed.entry.length)break;for(var k=0;k<b_rc.link.length;k++){if(b_rc.link[k].rel=='alternate'){c_rc=b_rc.link[k].href;break;}}c_rc=c_rc.replace("#","#");var d_rc=c_rc.split("#");d_rc=d_rc[0];var e_rc=d_rc.split("/");e_rc=e_rc[5];e_rc=e_rc.split(".html");e_rc=e_rc[0];var f_rc=e_rc.replace(/-/g," ");f_rc=f_rc.link(d_rc);var g_rc=b_rc.published.$t;var h_rc=g_rc.substring(0,4);var i_rc=g_rc.substring(5,7);var j_rc=g_rc.substring(8,10);var k_rc=new Array();k_rc[1]="Gen";k_rc[2]="Feb";k_rc[3]="Mar";k_rc[4]="Apr";k_rc[5]="Mag";k_rc[6]="Giu";k_rc[7]="Lug";k_rc[8]="Ago";k_rc[9]="Set";k_rc[10]="Ott";k_rc[11]="Nov";k_rc[12]="Dic";if("content" in b_rc){var l_rc=b_rc.content.$t;}else if("summary" in b_rc){var l_rc=b_rc.summary.$t;}else var l_rc="";var re=/<\S[^>]*>/g;l_rc=l_rc.replace(re,"");if(m_rc==true)document.write(''+j_rc+' '+k_rc[parseInt(i_rc,10)]+': ');document.write('<a href="'+c_rc+'">'+b_rc.author[0].name.$t+'</a> ');if(n_rc==true)document.write(' in '+f_rc);document.write(': ');if(l_rc.length<o_rc){document.write('&#8220;');document.write(l_rc);document.write('&#8221;<br/><br/>');}else{document.write('&#8220;');l_rc=l_rc.substring(0,o_rc);var p_rc=l_rc.lastIndexOf(" ");l_rc=l_rc.substring(0,p_rc);document.write(l_rc+'&hellip;&#8221;');document.write('<br/><br/>');}}document.write('<div style="font-size:50%;text-align:center;"><p> <a href="http://goo.gl/vES4">Installa il widget</a> </div>');}
//]]>
</script>
<!--COMMENTI RECENTI FINE-->

come mostrato nello screenshot

commenti-recenti

Salvate il modello.  Andate in Layout > Elementi pagina > Aggiungi un gadget > HTML/Javascript e, in Sezioni del sito, incollate quest'altro codice

<script style="text/javascript">
var a_rc=6;
var m_rc=true;
var n_rc=true;
var o_rc=100;</script>
<script src="http://parsifal32.blogspot.com/feeds/comments/default?
alt=json-in-script
&callback=showrecentcomments">
</script>

inserite il titolo del widget che più vi piace e salvate cliccando in basso a destra come mostrato da quest'altro screenshot

commenti-recenti-2

Le personalizzazioni da fare sono:

  1. Inserire l'URL del vostro sito al posto del mio che è evidenziato di rosso
  2. In var a_rc=8 inserire il numero dei commenti che si vuole visualizzare
  3. In var o_rc=100 mettere il numero dei caratteri che si intendono vedere per ogni commento

Adesso con il mouse posizionate l'elemento dove lo credete più opportuno. Se analizzate il codice non c'è nessun URL che rimanda a un file caricato su un hosting esterno quindi il widget non avrà mai problemi di malfunzionamento o di lentezza di apertura.

Ovviamente queste operazioni non possono essere fatte con il widget della pagina fan di Facebook o con Google Friend Connect ma già così si dovrebbe avere un riscontro positivo in fatto di velocità e di affidabilità. Tra qualche giorno controllerò le Prestazioni del Sito nelle Funzioni Sperimentali della Bacheca per Webmaster per avere una eventuale conferma.

Aggiornamento n°1: Ho notato che delle volte questo codice ha delle difficoltà a essere copiato. Forse sono i rettangoli in cui sono confinato che creano dei problemi. Nel caso a qualcuno non funzionasse può provare a copiare entrambi i codici nella pagina dei commenti recenti. Se per caso non  funzionasse la prima volta provate a reinserire nuovamente il codice nell'elemento HTML/Javascript. In due test che ho effettuato mi ha funzionato al secondo inserimento (vedi questo blog). La ragione mi è ignota…

Aggiornamento n°2: In alcuni modelli questo widget sembra che non riesca proprio a funzionare…

Aggiornamento n°3 - Ho messo il widget in un blog che uso per delle prove e si può vedere in questo post. Considerata la difficoltà di copiare il codice che sembra contraddistinguere questo widget ho messo in rete una versione pulita del codice da inserire prima di </head>. Si può selezionare e copiare in questa pagina.



8 commenti :

  1. ciao Pars,
    ho provato a mettere questa possibilità di vedere i commenti a parte ma non riesco a vederli.
    il gadget lo vedo ma dentro è vuoto.
    ho provato a mettere un commento io in forma anonima ma non vedo nulla.
    cosa c'è che non va?
    Credo di aver eseguito i passaggi correttamente (non erano complicati).

    RispondiElimina
  2. @vit
    Ho provato anch'io a inserirlo e infatti non ha funzionato. Ho incollato e ripubblicato il codice e adesso funziona. Probabilmente nella fretta avevo fatto un errore nel copia incolla.
    Grazie della segnalazione e dimmi se ora ti funziona.
    Ciao

    RispondiElimina
  3. ciao Pars,
    Ho ricopiato e sostituito il vecchio codice con questo che hai ripubblicato ma non cambia il risultato i commenti non si vedono.
    Sembra che nel mio modello non funzioni.

    PS: nella mia finestra messaggi non compare l'immagine e il campo verifica parola come devo fare?

    di nuovo Ciao e grazie

    RispondiElimina
  4. @vit
    Sono quelle cose imperscrutabili a cui non so dare spiegazioni. La cosa strana è che sembri funzioni solo a me :-)
    P.S. Nella tua finestra non compare il campo verifica messaggi perché sei loggato. Esci da Blogger e vedrai che compare :)

    RispondiElimina
  5. AGGIORNAMENTO
    Prestate particolare attenzione all'aggiornamento numero tre del post e per vedere il widget all'opera andate in questa pagina o in questo blog.

    RispondiElimina
  6. Niente da fare... mannaggia!
    non dipende quindi dal codice come postato ma da qualcosa nel codice che non gli piace.
    ops
    voglio fare una prova

    RispondiElimina
  7. Anche la prova che ho fatto è fallita. sic.
    Mi era venuto in mente di rifare tutto con firefox invece che con crome in quanto alcuni script non funzionano con crome mentre invece funzionano con firefox e explorer
    la cosa strana è che sono script che usano la mappa di google.
    Pazienza

    RispondiElimina
  8. @vit
    questo widget mi ricorda quello dei top commentatori che qualche volta funzionava, qualche altra volta no.
    In alcuni miei blog funziona in altri no. Eppure hanno lo stesso modello!
    Vorrei sapere perché!
    Sto facendo dei test poi ti saprò dire. Se non sai nulla vuol dire che sono stati negativi...

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.
Info sulla Privacy