Stephan Fischer: Funktion ausführen bei Schliessen des Fenster ohne onUnload?

Hallo,
ich öffne ein neues Fenster in das ein Frameset geladen wird. Der Benutzer kann das Fenster über eine Schaltfläche verlassen, es werden dann seine Sessiondaten auf dem Server gelöscht und das Fenster geschlossen.

Wenn der Benutzer das Fenster aber nicht über die Schaltfläche schliesst, kann ich die Sessiondaten nicht löschen. Das ganze könnte ich über eine onUnload-Funtkion ja abfangen, wenn nicht das Problem wäre, daß das komplette Frameset zwischendurch neu geladen wird, und somit die Funktion zu früh ausglöst würde.

Wie kann ich das lösen, ohne das mit Frameset neu laden anders programmieren zu müssen?

Gruss + Dank
Stephan

  1. Hi,

    Das ganze könnte ich über eine onUnload-Funtkion ja abfangen,

    nein.

    Wie kann ich das lösen, ohne das mit Frameset neu laden anders programmieren zu müssen?

    Es ist _unmöglich_, in HTTP das Verlassen eines Bereiches zu bemerken - ganz einfach deswegen, weil es kein Verlassen gibt. Richte Dein Konzept entsprechend aus; die augenscheinlich vorhandene Notwendigkeit eines solchen Erkennungsmechanismus muss vernichtet werden.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    warum willst du denn die Session-Daten überhaupt von Hand löschen. In PHP passiert das irgendwann automatisch.

    Gruß, Andreas

    1. warum willst du denn die Session-Daten überhaupt von Hand löschen. In PHP passiert das irgendwann automatisch.

      Ich will Daten in einer Datenbank, die Sessionabhängig gespeichert werden löschen. Hierbei handelt es sich um einen Warenkorb und die Verfügbarkeit von Artikeln.

      Wenn ein Kunde einen Artikel in seinen Warenkorb legt, ist dieser nicht mehr verfügbar. Führt er dann aber keine Bestellung aus, muss der Artikel wieder in den Bestand übergehen! Wie stelle ich aber fest, ob der Kunde nur gerade zum Klo ist, oder das Browserfenster geschlossen hat?

      gruss Stephan

      1. Herrje, heute gehen alle meine Postings verloren.

        Also nochmal:
        Dein Problem hatten wir kürzlich schon, warst Du das? Scheint kaum wirklich zu lösen sein. Aber geht nicht temporäres auslisten? Notiz machen, daß der Artikel unterwegs ist und für andere User sperren und wenn er nach einer bestimmten Zeit _nicht_ durch die Kasse gegangen ist,  die Markierung wieder entfernen. Damit verschwindet er natürlich auch aus dem Warenkorb, falls der User noch online ist. Du müßtest ihn also rechtzeitig warnen.

        Gruß, Andreas