Testen, ob der Besucher noch auf der Seite ist

Xym

Erfahrenes Mitglied
Hallo zusammen,

ich hab ein Live Support geschrieben mit Javascript / Ajax und PHP und der läuft soweit auch. Ich hab nur ein Problem. Wenn man auf die Seite geht kommt man in die Warteschleife.
Wenn der Besucher die Seite verlässt wird eine Ajaxverbindungen zu einem PHP Skript aufgebaut, und der Besucher wird aus der Warteliste gestrichen.
Das habe ich so gelöst:
HTML:
<body onDestory="del()">

Das Problem ist, wenn der Besucher einfach den Browser schließt oder den PC ausschaltet, wird die Funktion gar nicht erst aufgerufen.

Gibt es noch eine andere Möglichkeit, damit der Fehler nicht auftritt?
 
Hi,

nein. Du kannst den Browser nicht zwingen etwas zu machen, wenn er sich schließt, und schon gar nicht wenn der Browser erzwungen beendet wird (z.B. beim runterfahren).

Andere Möglichkeit: Du prüfst auf dem Server, ob sich der Client regelmäßig (alle 10 Sekunden meldet) und sobald die letzte Rückmeldung länger als 30 Sekunden her ist, dann wird er raus gestrichen.

Grüße,
BK
 
Hi,

auf dem Server kannst du ein Script laufen lassen, zum Beispiel jede Minute. Dann hast du maximal 90 Sekunden, die ein Benutzer in der Liste angezeigt wird, obwohl er nicht mehr da ist.

Und wenn du den User aufrufen möchtest, obwohl er nicht mehr da ist, dann kannst du ihn einfach ignorieren und den nächsten nehmen. Hab ich schon des öfteren gesehen, dass ich von der #5 in der Warteschlange nach nicht mal einer Minute sofort dran gekommen bin, ohne auf die anderen Positionen vorzurücken.

Grüße,
BK
 

Neue Beiträge

Zurück