vg: Browser-Buttons austricksen

Hallo,

ich schreibe ein Webanwendung bei der ich die vor-und zurückbuttons des Browsers funktionsuntüchtig machen möchte. D.h. tätigt der Benutzer z.B. den zurückbutton, möchte ich, das der Anwender nicht die letzte, sondern weiterhin die aktuelle Seite sieht.

Gibt es dafür Lösungen, z.B. mit Javascript ?

Mir schwebt folgende Lösung vor, für andere Lösungen bin ich offen. Ist meine Lösung umsetzbar oder nicht ?

In der Session und im request habe ich eine Zahl, die die Nr. des aktuellen Zustands anzeigt. Ist die Nummer im request identisch mit der im Zustand, dann ist alles ok.

D.h. tätigt der Benutzer den zurück-Button, möchte ich z.B. mit Javascript feststellen, das der Zurückbuttongetätigt worden ist. Dies geschieht wie folgt:

Der Browser geht auf die 'zurück-Seite', dort wird beim Aufbau der Seite automatisch ein Java-Script ausgeführt, das die Zahl im request und in der session vergleicht und feststellt, das z.B 24 != 25 ist. Nun wird über javascript auf die aktuelle Seite gegangen (durch expliziten Neuaufruf der Seite über den Webserver oder über das historie-Objekt in Javascript).

Danke für Eure Antworten

Gruß

Volker

  1. ich schreibe ein Webanwendung bei der ich die vor-und zurückbuttons des Browsers funktionsuntüchtig machen möchte.

    Zu welchem Zweck?

    Gibt es dafür Lösungen, z.B. mit Javascript ?

    Öffne deine Seite in einem neuen Fenster mit entsprechend kastrierter Funktionalität. Sei dir aber der Nachteile dieser Lösung bewusst (Popup-Blocker, deaktiviertes Javascript, durch Anwender eingeschränkter Fensterzugriff etc.).

    Sollte deine Anwendung nicht für die breite Öffentlichkeit gedacht sein (Intranet, Präsentationszwecke o.ä.), informiere dich über den Kioskmodus.

    Der Browser geht auf die 'zurück-Seite', dort wird beim Aufbau der Seite automatisch ein Java-Script ausgeführt, das die Zahl im request und in der session vergleicht und feststellt, das z.B 24 != 25 ist. Nun wird über javascript auf die aktuelle Seite gegangen (durch expliziten Neuaufruf der Seite über den Webserver oder über das historie-Objekt in Javascript).

    Das history-Objekt ist denkbar ungeeignet, da der Zugriff in den meisten Browsern stark eingeschränkt ist. Zudem machst du dich von Javascript abhängig. Und schließlich bekommt der User für einen Moment die vorhergehende Seite zu sehen, bevor du ihn wieder auf die andere zurückschickst.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
    1. Zweck: Ich habe halt eine Anwendung, die einen Zustand hat und Daten im Hintergrund behält, die Abhängig sind von den bisherigen Benutzeraktionen. Eine Versionieren der Historie der Zustände mache ich nicht. Benötigt zuviel Speicheroplatz, benötigt mehr zeit beim programmieren und bietet dem Benutzer keinen wirklichen vorteil.

      Kioskmode-Lösung scheidet aus.
      Neue Fenster-Lösung ist blöd, da muss ich ja auch für jeden Browser die rechte Maustaste abfangen.

      Zur Zeit habe ich eine Lösung, die egal wie oft der Browser vor- bzw. zurück ausgeführt hat, den Benutzer immer auf die "aktuelle Seite" zurückführt und im sagt: 'böser Benutzer, keine Browser-Butons verwenden'.

      Ich würde aber gerne zusätzlich direkt die vor- und zurückbutton abfangen.

      1. hi,

        Neue Fenster-Lösung ist blöd, da muss ich ja auch für jeden Browser die rechte Maustaste abfangen.

        Vergiss es, das ist dir in meinem Browser nicht erlaubt.

        Ich würde aber gerne zusätzlich direkt die vor- und zurückbutton abfangen.

        Vergiss es - ich nutze nicht mal unbedingt Buttons für diese Zwecke (Stichwort: Mousegestures).

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }