2009-03-18 12 views
8

Sto cercando un framework di cronologia javascript per gestire la navigazione all'interno di una pagina quando l'utente seleziona più opzioni che cambiano il comportamento della pagina.Esperienze con Javascript History Frameworks

Nella pagina sono presenti più artefatti che modificano il caricamento dei dati della pagina e vorrei memorizzarli come un insieme di comportamenti impilati. In un senso più ampio, vorrei aggiungere questo come un toolkit ai miei progetti web futuri per gli stessi motivi.

Scrivo principalmente in ASP.NET con JQuery, ma per ora sono solo molto preoccupato per JQuery. Scrivo altri progetti in PHP, Python e Perl (a seconda del concerto) quindi dovrebbe essere indipendente dalla piattaforma.

Ho cercato sulla rete e ne ho trovato alcuni, ma solo uno (coperto da OReilly) sembrava che fosse adatto al conto. Ho iniziato a giocarci ma volevo sapere quali strumenti utilizzavano gli altri utenti e cosa avrebbero raccomandato gli altri.

Quindi, se avete esperienza dei framework di storia, gestendo il pulsante Indietro (ecc.) In Ajax, mi piacerebbe sapere cosa avete usato e come ha funzionato. Mi aiuterebbe davvero a fare una scelta finale in biblioteca.

Grazie,

S

risposta

4

Ho avuto il problema simile tempo fa a costruire un sito solo flash. Abbiamo provato:

1

Forse this question è utile per voi. Nella domanda che ho collegato a una pagina di test, dove location.hash viene utilizzato per tenere traccia della cronologia. Attualmente sto usando questo metodo in un sito di prova e ho avuto problemi con Opera (tronca un valore location.hash nel punto interrogativo, dovrai usare: location.href.split(/#/)[1]) e ovviamente IE (ha bisogno di un iframe). In IE con iframe, la cronologia viene salvata solo per la sessione corrente. Se si carica un'altra pagina nella stessa finestra/scheda e si utilizza il pulsante Indietro per tornare alla pagina AJAX, la cronologia precedente viene persa. Non è un grosso problema per me, ma potrebbe essere fastidioso. Ho capito che la cronologia di IE8 dovrebbe comportarsi come previsto con location.hash, dovrebbe anche avere un gestore di hashchange.

Penso che la maggior parte dei framework utilizzi la stessa tecnica (monitoraggio location.hash per le modifiche, utilizzando un iframe per IE). Non volevo usare un framework, perché sto usando la mia piccola struttura domestica e le strutture regolari contengono troppa funzionalità che non userò mai.

1

jQuery La cronologia è la mia scelta preferita. Può essere trovato qui: http://www.balupton.com/projects/jquery-history/ Fornire supporto per browser incrociato, associazione agli hash, overloading hash, tutto il resto.

C'è anche un'estensione Ajax per esso chiamato jQuery Ajaxy, permettendo così di aggiornare facilmente la tua pagina web in una corretta applicazione Ajax, senza necessità di apportare modifiche lato server e rimanendo SEO e amichevole JS-disabili: http://www.balupton.com/projects/jquery-ajaxy/

complesso che sono entrambi ben documentati, supportati e ricchi di funzionalità.Hanno vinto anche una domanda di taglie qui How to show Ajax requests in URL?

0

Dial.js è un framework JavaScript cronologia del browser progettato per fornire alcune delle caratteristiche di un quadro di vera e propria MVC con jQuery e History.js per le applicazioni una sola pagina (ZPS).