2009-12-21 4 views
9

ci sono implementazioni per history.back in Micrososft AJAX e jQuery (http://www.asual.com/jquery/address/). Ho già jQuery e asp.net ajax inclusa nel mio progetto, ma non sono sicuro che l'attuazione di history.back è meglio.Quale implementazione storia Javascript indietro è il migliore?

meglio per me è:

  1. già utilizzata da alcuni grandi progetti
  2. supporto del browser Ampio
  3. Facile da implementare
  4. Piccolo ingombro

Qualcuno sa che uno è meglio?

EDIT:

un altro plugin jQuery è http://plugins.jquery.com/project/history E si raccomanda di applicare nel libro JQuery Cookbook. Questo ha funzionato bene finora.

+0

Dipende da cosa si intende per il supporto del browser di larghezza, così come chi sarà utilizzando l'applicazione. Se è una comunità diversificata che utilizza molti browser diversi, direi il numero 1, poiché lavorare è probabilmente la parte più importante di qualsiasi tipo di software. – Zoidberg

+0

Non ho mai implementato questa particolare situazione, ma eseguo il rollover con jQuery quando possibile e raramente sono stato deluso, soprattutto quando è necessario "ampio supporto per browser". –

risposta

8

Un'alternativa al jQuery Address è il bello jQuery history plugin. Ci sono anche URL Utils.

Riferimento: AJAX History and Bookmarks.

+1

Mi è piaciuto lo screencast "Storia e segnalibri AJAX". Usa URL Utils che sono sostituiti da jQuery BBQ, ma è comunque un ottimo punto di partenza. –

+0

Ecco un articolo decente con collegamenti per jquery.pager.js, microtemplates.js e jquery.ba-bbq.js http://stephenwalther.com/blog/archive/2010/04/08/jquery-asp .net-and-browser-history.aspx –

+0

L'indirizzo jQuery non funziona con la nuova versione di jQuery. Vedi la mia risposta qui sotto. –

0

Se si sta creando un'applicazione ASP.NET, l'utilizzo di ASP.NET Ajax Framework offre numerosi vantaggi e un'API semplice da utilizzare sul lato server.

Qui di seguito potete trovare un esempio che utilizza Storia Browser con ASP.NET Ajax

Create a Facebook-like AJAX image gallery

Entrambi hanno una vasta gamma di supporto nei browser. Per me è più facile da integrare Microsoft AJAX quadro in una pagina ASP.NET in modo nuovo se si dispone di una pagina aspx che potrebbe essere più facile lavorare con ASP.NET AJAX

0

Se non è necessario esattamente AJAX, cioè l'aggiornamento di solo parti del sito su richiesta è sufficiente per te, quindi puoi utilizzare invisibile iframe come destinazione per caricare il file HTML generato contenente solo lo script JS che aggiorna/reimposta parti "aggiornabili" del sito. Questa è una soluzione cross-browser e non richiede il polling degli indirizzi.

esempio, ma non in ASP: kociszkowo.pl (sito polacco)

Quando si fa clic lì in icona della sezione e il vostro browser supporta JavaScript, collegamento viene modificato prima di essere scaricati - bersaglio viene modificato in iFrame e href è suffisso con .dhtml per informare il server, che siamo interessati a una versione speciale della pagina. Se si preme Indietro nel browser JS-attrezzati, quindi la pagina iframe precedentemente recuperata viene caricato dalla cache. Semplice, ma richiede alcune decisioni a livello di architettura.

Questa modifica del collegamento è irrilevante qui, è solo il risultato della combinazione del mondo JS/non-JS.

0

In base alla mia esperienza, la soluzione migliore è utilizzare la stessa che si sta facendo la maggior parte (se non tutte) delle chiamate ajax. Ad esempio, se stai usando asp: UpdatePanel, usa quello MS - se usi jQuery.ajax, usa il plugin della cronologia jQuery.Se stai facendo un mix (che ho cercato di evitare nei miei progetti), testerei personalmente con entrambi e vedere quale si comporta meglio, se entrambi testano bene, allora è un po 'di preferenza. Alcuni potrebbero sostenere che Microsoft avrebbe un supporto migliore, ma il plug-in della cronologia di jQuery potrebbe essere più utile e più maturo.

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

http://docs.jquery.com/Ajax/jQuery.ajax#options