Problem mit popstate-Event

Matthias Froese

Grünschnabel
Hallo! Ich habe eine Bildergalerie erstellt mit einer Einstiegsseite, einer Galerieübersichtsseite und der Seite für die Einzelbildbetrachtung bzw. Slideshow. Das Ganze ist absichtlich so gehalten, dass die Galerie auch ohne Javascript zugänglich ist. Mit Javascript ist es natürlich hübscher, und die zeitgesteuerte Diashowfunktion geht (meines Wissens) nur mit Javascript. Das ist auch alles ganz nett, aber es gibt ein Problem, wenn man die Einzelbildansicht verlässt und nun von der Galerieübersicht (oder der Einstiegsseite) mittels Browser-Navigationsbutton zurückgeht.
Wenn man von der anderen Seite mehrere Bilder auf einmal zurückspringen will, wird immer das zuletzt angezeigte Bild wieder dargestellt (also das falsche). Klickt man stets einzeln auf "zurück", ist alles in Ordnung.
Eine Analyse des Problems zeigte, dass beim Wiedereinspringen in die Galerie gar kein 'popstate'-Event ausgelöst wird, wohl aber, wenn innerhalb der Galerie vor- oder zurückgesprungen wird.
Beim Linux--Browser Konqueror funktioniert alles, wie ich es erwarte, aber was mache ich mit Firefox oder -noch schlimmer, weil gar kein Bild mehr- Chrome?
Einen Fehler bei history.pushState und history.replaceState kann ich auschliessen, es wird schlichtweg kein 'popstate'-Event gefeuert, wenn man von einer "anderen" Seite zurück (oder vor) springt.
Beim einzelnen "Zurück"-Button-Anklicken ist das nicht so schlimm, weil das zuletzt angezeigte Bild ja das richtige ist. Und dann funktioniert ja auch wieder der 'popstate'-Event.
Es dürfte aber etwas suboptimal sein, Besucher zu bitten, stets in Einzelschritten zurück (oder vor) zu navigieren oder den Neulade-Button zu benutzen (dann wird über PHP-Seite die Galerie reinitialisiert).
Hat jemand eine Idee, wie ich den fehlenden 'popstate'-Event ausgleichen kann?
Vielen Dank im Voraus!
 

Neue Beiträge

Zurück