browser history mit
markusp
- javascript
hallo,
ich habe meine Seite so aufgebaut, das bei jedem draufgeklickten link nur der mittlere teil per ajax getauscht wird.
da hat man ja dann das problem, dass in der adresszeile des browsers nichts mitgeschrieben wird.
somit habe ich
history.pushState(data, title, url);
verwendet. diese anweisung ändert die adresszeile wirklich wunderbar, aber zurück / vorwärts des browsers funktioniert nicht.
ich habe danach die funktion
replaceState(data, title, url)
zusätzlich hinzugefügt. aber es funktioniert trotzdem nicht.
kann mir irgendwer behilflich sein?
danke schon im voraus!
mfg markus
Hi,
ich habe meine Seite so aufgebaut, das bei jedem draufgeklickten link nur der mittlere teil per ajax getauscht wird.
So weit, so dümmlich.
somit habe ich
history.pushState(data, title, url);
verwendet. diese anweisung ändert die adresszeile wirklich wunderbar, aber zurück / vorwärts des browsers funktioniert nicht.
Dann hast du wohl vergessen, die für das Wechseln des Dokumentinhalts nötige Logik zu implementieren.
MfG ChrisB
So weit, so dümmlich.
Wieso antwortet man überhaupt auf die Frage, wenn man nur "sowas" zu sagen hat? Das ist bodenlos respektlos. Dann schreibe ihm doch wenigstens, warum Du das Vorgehen für unangebracht hälst. Oder noch toller: schick ihm doch n Link zur Google-Suche, das ist ja der Deluxe-Hilfsbereitschafts-Level
Dann hast du wohl vergessen, die für das Wechseln des Dokumentinhalts nötige Logik zu implementieren.
sehr freundlicher und konstruktiver Hinweis.
MfG ChrisB
klaro, ganz "freundliche" Grüße
..unausgeglichen? :-)
somit habe ich
history.pushState(data, title, url);
verwendet. diese anweisung ändert die adresszeile wirklich wunderbar, aber zurück / vorwärts des browsers funktioniert nicht.
Wenn ich dich richtig verstehe, erwartest du, dass du wieder die Inhalte siehst, die mit der jeweiligen URL verknüpft sind.
Von selbst stellt der Browser den alten Status nicht wieder her, er springt nur in der History zurück. Diesen Vorgang kannst du überwachen mittels des popstate-Events, der beim window-Objekt feuert.
window.addEventListener('popstate', function (e) { … }, false);
Oder Old-School:
window.onpopstate = function (e) { … };
Siehe https://developer.mozilla.org/en/DOM/window.onpopstate.
In dieser Handler-Funktion müsstest du die aktuelle URL auslesen und sämtliche Inhaltscontainer per Ajax so füllen, dass sie der URL entsprechen.
Die üblichen Einführungen in HTML5 History sollten das auch erwähnen.
Siehe etwa das Beispiel http://html5demos.com/history, welches bei popstate den entsprechenden Zustand wiederherstellt.
Mathias