La gestione dei segnalibri e della cronologia del browser è un argomento spinoso e da trattare con riguardo per tutte quelle applicazioni web che fanno un uso massiccio di tecniche di programmazione asincrona come Ajax.
Le chiamate asincrone, per definizione, evitano il loading/reloading di una pagina web per l'aggiornamento di determinate informazioni, e questa è la "magia": il problema è che i browser non tengono automaticamente traccia di queste chiamate nella loro history. Questo genera tutta una serie di problemi quando l'utente utilizza ad esempio il classico pulsante back del browser o quando vuole salvarsi il bookmark di una pagina con esattamente le informazioni visualizzate in quel momento.
In questi casi è il programmatore web che deve gestire la situazione. Le soluzioni per risolvere queste problematiche sono diverse, e una tra le più interessanti è sicuramente Really Simple History.
Really Simple History è una libreria JavaScript leggera e semplice da imparare e da utilizzare. Essendo rilasciata sotto licenza BSD può essere liberamente utilizzata in tutte le nostre applicazioni, ed è indipendente da qualsiasi altro specifico framework Ajax.
Nel repository ufficiale è disponibile una test page utile per farsi un'idea sulle funzionalità messe a disposizione dalla libreria, inoltre in rete sono disponibili diversi tutorial che ne chiariscono l'utilizzo, come ad esempio:
- http://www.geekpad.ca/blog/demos/fixing-the-back-button-of-ajax-application/
- http://dev.aol.com/ajax-handling-bookmarks-and-back-button
Il download della libreria è disponibile al seguente indirizzo.