Follow me on Twitter Facebook Flickr Subscribe Feeds
 

December 13th, 2010  |  browser, jQuery 2 Comments »

Riconoscere il browser utilizzato con jQuery

Realizzare applicazioni web supportate da tutti i browser è una delle difficoltà fondamentali che si incontrano e a cui spesso bisogna dedicare molto tempo. Purtroppo il problema del supporto non è limitato ai soli fogli di stile ma anche al linguaggio Javascript.

La diversa interpretazione o supporto ai vari metodi e proprietà del Javascript non variano solo in base al browser ma, spesso anche alle singole versioni del browser. Per facilitare la vita agli sviluppatori, fortunatamente molti framework (jQuery su tutti) forniscono la maggior parte delle loro funzionalità già in maniera cross-browser; vale a dire che il singolo metodo agirà in base alla tipologia di browser garantendone il funzionamento senza costringere lo sviluppatore a diversificare il suo codice.

Read more →

November 23rd, 2010  |  javascript No Comments »

Javascript tip: verificare il valore di una variabile

Quando dobbiamo verificare il valore di una variabile utilizzando Javascript, molto probabilmente realizzeremo qualcosa di questo genere:

if( name == 'bob' || name == 'matt' || name == 'michael' || name == 'john' ) { ... }

una sequenza di OR con tutti i valori a cui siamo interessati.

Ad esser sincero non ho mai amato questo genere di soluzioni con una sequenza interminabile di condizioni all’interno del costrutto IF. Nella maggior parte dei casi è possibile ricorrere a soluzioni alternative che ci fanno risparmiare tempo e ripetizioni inutili di codice.

Read more →

November 15th, 2010  |  Ajax, jQuery No Comments »

jQuery getScript: caricare gli script nel momento in cui servono

Le moderne applicazioni web fanno ampio uso del Javascript e sempre più frequentemente caricare tutti gli script necessari rallenta di molto il caricamento completo della pagina. Il buon senso consiglia di caricare all’interno di ogni pagina solo gli script di cui effettivamente si ha bisogno ma l’avvento dei CMS non sempre rende semplice questa operazione.

Un’altra soluzione molto utile al problema consiste nell’utilizzare un metodo poco conosciuto ma molto molto importante di jQuery: $.getScript(). Questo metodo consente di caricare gli script all’interno della pagina solo nel momento in cui effettivamente se ne ha bisogno. Il concetto alla base è del tutto simile al LazyLoad delle immagini. Proviamo ad ipotizzare un esempio in cui effettivamente è utile il metodo. Supponiamo che all’interno delle pagine web ci sia un piccolo modulo di contatto (come nel footer di questo blog). Non si ha la garanzia che tale modulo verrà sempre utilizzato quindi tutto il codice utilizzato per i controlli di validità dei dati inseriti non necessita di essere caricato ad ogni pagina. In questo caso potremmo realizzare un handler che provvede al caricamento dello script per il controllo dei dati solo al verificarsi di un determinato evento come il submit della form o il focus su uno dei campi. Questo è solo un semplice esempio ma i suoi utilizzi sono davvero tantissimi.

Read more →

October 11th, 2010  |  Ajax, jQuery, JSON No Comments »

jQuery: recuperare le immagini da Flickr utilizzando JSON

Circa un anno fa mi sono occupato di realizzare una funzione per recuperare le immagini di Flickr utilizzando il PHP ed il linguaggio XML. Oggi invece realizzeremo la stessa cosa utilizzando però jQuery attraverso il famoso formato di scambio dati JSON.

Prima di procedere, però, vediamo brevemente cos’è e come funziona. JSON è un “linguaggio” (consentitemi la parola, seppure errata) che consente di scambiare dati tra web services o linguaggi di programmazione differenti. Il concetto di base è come quello del CSV o dell’XML, ovvero un formato standard che consente di far comunicare applicazioni anche completamente differenti tra di loro.

Cos’è JSON e Come funziona

Il formato JSON è davvero semplicissimo da usare e, sempre più spesso, è utilizzato come formato di scambio nelle richieste AJAX. Il suo punto di forza infatti è la struttura con cui sono implementati i dati in esso contenuti, tale struttura consente di trasportare non solo stringhe ma veri e propri oggetti.

Read more →