2009-06-18 11 views
1

Ich habe eine Seite mit JQuery und Ajax erstellt, die einem Benutzer hilft, eine Reihe von Optionen zu filtern und schließlich eine gefilterte Liste von Produkten anzuzeigen, die ihre Spezifikation erfüllen.Ajax zurück Button mit dynamischem Inhalt

Das alles funktioniert gut.

Das Problem, das ich habe, ist das "Zurück Button" -Problem mit Ajax, ich weiß, wie man das mit Ankern auf statischem Inhalt (d. H. Filter.php # Step2) umgehen kann.

Die Seite funktioniert jedoch, indem sie eine Liste von Produktspezifikationen zurückgibt, wenn eine Spezifikationsverknüpfung angeklickt wird, lädt Ajax die gleiche Seite erneut unter Anwendung der Verbindungsparameter, dies wird bis zu sechsmal wiederholt, danach wird der Benutzer umgeleitet zur gefilterten Produkt-URL.

Wenn der Benutzer dann auf "Zurück" klickt, wird die Filterseite natürlich von Schritt 1 neu geladen und nicht vom letzten Schritt (Schritt 6).

Weiß jemand, ob das überhaupt möglich ist?

Antwort

1

Jedes Mal, wenn Sie wollen.

Ie.

window.location.hash = 'step1'; 

Dies ändert den # foo Teil in der URL. Sie werden auch einen Timer in JavaScript benötigen, der überprüft, ob der Hashwert geändert wurde, da es keine Möglichkeit gibt, den Zurück-Button zuverlässig zu erkennen. Etwas nach dem Vorbild von ...

var oldHash = window.location.hash; 
setInterval(function(){ 
    if(window.location.hash != oldHash) { 
    //the hash was changed, do something 
    } 
}, 50); 

Ich hoffe, das hilft

+0

Ihr Beitrag erinnerte mich an ein Tutorial ich lese eine Weile zurück auf http://yensdesign.com/2008/11/creating-ajax-websites-based-on-anchor-navigation/ Ich gebe es vor, um zu sehen, ob es ist geeignet. – ticallian

0

Ich kann nicht sagen, dass ich dies bereits persönlich implementiert habe, aber ich erinnere mich an die jQuery Tools Registerkarte Komponente, die etwas Ähnliches tut. Ich bin mir nicht sicher, ob es für Ihre spezielle Situation funktionieren wird, aber es kann sich lohnen, ihren Ansatz als Ausgangspunkt zu betrachten. zum vorherigen Schritt zu der Lage sein, gehen Sie zurück, ändern window.location.hash

jQuery Tools AJAX:ed tabs with History support

+0

Ich hatte ein wenig Blick auf diese und ich denke, es ist für statische Inhalte ausgelegt ist und nicht die dynamischen querystrings zu kontrollieren. – ticallian

Verwandte Themen