Ajax - so ändern Sie die URL durch den Inhalt
Ich erkläre:
Ich habe eine Bildergalerie, die erste Seite ist display.php
.
Benutzer können Blättern Sie durch die Bilder mit den Pfeilen, wenn Sie auf einen Pfeil klicken sendet er einen Ajax-request, um das nächste Bild aus der db. Jetzt möchte ich die URL zu ändern, nach der ein Bild angezeigt wird.
So if the first picture is:
www.mydomain.com/display.php?picture=Paris at night
Werde ich flip auf die nächste und die URL wäre
www.mydomain.com/display.php?picture=The Big Ben
Wie mache ich das?
- Benutzt du ein framework wie JQuery, YUI, ExtJS oder Prototyp?
- Sie möchten, ändern Sie die URL in der explorer-Navigationsleiste?
- Wäre ich besser dran, JQuery verwenden? Und ja.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den trick hier sind uri ' s mit einem Anker-fragment.
Den Teil vor dem '#' weist auf eine Ressource auf dem internet, und nach der Regel bezeichnet, um einen Anker auf der Seite.
Den browser nicht aktualisieren, wenn die Ressource ist das gleiche, aber bewegt, um die Anker-position, wenn vorhanden.
Diese Weise halten Sie die Bequemlichkeit der browser-history von einem usability-Sicht beim ersetzen bestimmter Teile auf der Seite mit ajax für eine schnelle und reaktionsfähige Benutzeroberfläche.
Über ein plugin wie jQuery, Geschichte (wie vorgeschlagen, die von anderen) ist wirklich einfach: Sie schmücken sich bestimmte Elemente mit einem rel-Attribut, welche das plugin kümmert sich um den rest.
Auch irgendwie in Bezug zu diesem Thema ist die so genannte 'hijax', und es ist etwas, was ich mag.
Bedeutet dies, generieren von html-genauso wie in den alten Tagen, bevor ajax. Dann hijack bestimmtes Verhalten wie links und Anforderung, die Inhalte mit ajax, nur Austausch der notwendigen Teile. Dies in Kombination mit der oben genannten Technik ermöglicht wirklich SEO-freundliche und zugängliche Webseiten.
Können Sie die jQuery plugin Geschichte zum Beispiel.
ändern und die Suche nach der url laden Sie die geänderte url.
Siehe auch: stackoverflow, javascript verändert die get-parameter ohne Umleitung
Wollen Sie wirklich zu benutzen AJAX-hier?
Einer traditionellen web-Anfrage arbeiten würde wie diese...
Und so weiter.
Mit AJAX, die Sie im wesentlichen ersetzen Sie die mit "hinter die kulissen" BEKOMMEN, dass Sie einfach ersetzt einen Teil Ihrer Seite. Tun Sie dies, um die Dinge schneller... zum Beispiel...
Was Sie vorschlagen, ist, dass Sie abrufen, die "neben-url", die mit AJAX und dann auch durchführen, ERHALTEN für die gesamte Seite. Sie wäre viel besser, senden die "weiter" - Bild, wenn Sie senden Sie jede Seite und nicht mit AJAX überhaupt.
diese am besten beschreibt alles, was ich denke: http://ajaxpatterns.org/Unique_URLs