Paul Eppner: Ajax History?

Hallo,

Wer sich etwas mit Ajax beschäftigt hat, wird sicherlich schon erfahren haben, dass es mit der Browser-History nicht ganz so einfach ist. Ich versuche mich jetzt schon seit zwei Tagen und bekomme es leider nicht so hin, wie ich es gerne hätte. Mithilfe des überschreibens der location.hash ist es Möglich eine Browser-Hisotry nachzubauen. Wie dies funktioniert kann man unter anderem hier [http://www.pcgo.de/praxis/cm/page/page.php?table=pg&id=6663] oder hier [http://www.galileocomputing.de/openbook/javascript_ajax/18_ajax_003.htm] nachlesen. Im FF & Opera funktioniert es wunderbar, Probleme gibt es jedoch im IE. Wie beschrieben kann man dieses Problem über ein Iframe versuchen zu beheben - nur leider gelingt mir dies nut teilweise. Entweder setze ich beim zurückblättern den location.hast wieder neu (da dieser im IE sich nicht aktualisiert), dann verfällt allerdings das vorblättern. Wenn ich dies unterlasse, wird die Seite zwar aktualisiert, die Browser URL bleibt jedoch bei dem zuletzt aufgerufenen Bereich stehen. Also wie bekomme ich es hin, dass ich zurück und vorblättern kann und sich die Browser-URL mit ändert? Das es funktionieren kann sieht man hier [http://code.google.com/webtoolkit/documentation/examples/kitchensink/demo.html]. Dies ist auch die einzige Seite, auf der ich es korrekt sehen konnte, nur leider finde ich da nicht die zuständigen Funktionen :-( Könnt Ihr mir helfen?

gruß, paul

  1. falls du noch alte linux-magazine im schrank hast:
    Vor ein paar Monaten gab es einen ausführlichen artikel darüber...
    g johannes

    1. Hi,

      Vor ein paar Monaten gab es einen ausführlichen artikel darüber...

      Konkret: Tobias Hauser, "Rettungsanker" (Linux Magazin 02/07): Bookmarking von Ajax-Seiten

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Hmm,

        ich hab die Zeitung leider nicht :-( Könntest Du mir vielleicht die Seite kopieren?

        gruß, paul

        1. Ich kann Dir nur folgendes Empfehlen:

          http://codinginparadise.org/projects/dhtml_history/

          einfach und schöner findet man es kaum!
          einmal initialisieren:
            dhtmlHistory.initialize();
            dhtmlHistory.addListener(historyChange);

          und anschliessend läuft der Rest fast wie von selbst...habe am Anfang etwas gebraucht rein zu kommen, ist aber wirklich einfach gemacht!

          1. ok, schau ich mir an - danke!

            gruß, paul

          2. ah super - > vielen, vielen dank! in dem gezeigten script habe ich den entscheidenden hinweis gefunden :-)
            // IE has a strange bug; if the newLocation
            // is the same as _any_ preexisting id in the
            // document, then the history action gets recorded
            // twice; throw a programmer exception if there is
            // an element with this ID

            da muß man erstmal drauf komme...

            gruß, paul

        2. Hi,

          ich hab die Zeitung leider nicht :-(

          Vielleicht deine (Uni-)Bibliothek?

          Könntest Du mir vielleicht die Seite kopieren?

          Wenn ich das machen würde, dann wäre ich übrigens eine Raubkopierer. >;-)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!