TIMEOUT -> Ausloggen

Hallo,

ich habe eine Seite mit Passwortschutz. Nun möchte ich dass wenn man eine bestimmte Zeit (sagen wir mal 3 Minuten) nichts macht (kleine Aktion) das mann dann automatisch ausgeloggt wird (oder auf eine andere Seite weitergeleitet wird. Wie kann ich das realisieren?

Martin

Hi,

Du setzt per JavaScript einen Timer auf 3 Minuten, der automatisch zur Ausloggen-Seite weiterschaltet. Dann musst Du einfach nur für JEDEN Event-Handler (onclick, onkey, …) den Timer neu auf 3 Minuten zurücksetzen. Ist natürlich doof, weil es viele Eventhandler gibt, aber mir fällt nichts einfacheres ein.

Viel Erfolg,

Golo Haas

http://www.golohaas.de - the web the way you want it

Kannst Du mir ein Script schicken das wenigstens auf die Maus reagiert?

Hi,

wenn es bis morgen Zeit hat, ja.

Grüße,

Golo Haas

http://www.golohaas.de - the web the way you want it

Klar! Du kannst Dir sogar bis Montag zeitlassen :wink:

DANKE!

Lösung
Hi Martin,

also, folgendes musst Du tun, im body fügst Du ein onload ein:

, im head musst Du dann eine entsprechende Funktion definieren:

var myTimer;
var myTimerIsActive;

function ResetTimer()
{
if(myTimerIsActive == true)
{
clearTimeout(myTimer);
}
myTimer = setTimeout(„Logout()“, 180000);
myTimerIsActive = true;
}

function Logout()
{
window.location.href = „logout.html“;
}

Dann wird am Anfang der Timer auf 180.000 Millisekunden gestellt (3 Minuten) und bei jeder Mausbewegung und bei jedem Tastendruck neu gestartet. Die Abfrage mit dem myTimerIsActive ist nötig, um zu verhindern, dass mehrere Timer gleichzeitig laufen. Falls der Timer nach 3 Minuten ausgelöst wird, wird die Funktion Logout aktiviert.

Viel Erfolg,

Golo Haas

http://www.golohaas.de - the web the way you want it

Zusatzfrage!
Hallo Golo!

Ersteinmal danke für Deine Hilfe. Es hat alles prima geklappt! Nur jetzt hätte ich nochmal ne zusätliche Frage. Ich habe es schon gesehen, dass die verbleibende Zeit in Sekunden in der Statuszeile angezeigt wird. Kannst Du mir sagen wie man das machen kann?

Danke für Deine Hilfe
Martin

Hi Martin,

kein Problem: Einfach noch folgendes Script aufrufen, sobald die Seite geladen wird (also auch per onload):

Im baust Du dann noch folgendes ein:

var Sekunden = 180;

function Zeitanzeigen()
{
window.status = „Noch " + Sekunden + " bis zum Logout!“;
Sekunden–;
window.setTimeout(„Zeitanzeigen()“, 1000);
}

In der anderen Funktion, die den Timer neu startet, muss Sekunden dann auch jedesmal wieder auf 180 gesetzt werden.

Viel Erfolg,

Golo Haas

http://www.golohaas.de - the web the way you want it

Hallo Golo!

Also irgendwie bin ich zu blöd dazu! Er macht auch nichts anderes als vorher! In der Statuszeile steht nur Fertig!

Kannst Du mir nicht mal den kompletten Code schicken?
Wäre wirklich sehr hilfreich!

Danke
Martin

Hi Martin,

okay, kann ich machen. Brauche aber ein bissel, kann morgen werden, ja? Weil ich im Moment hier an der Uni bin, aber die ganzen Handbücher und alles zu Hause.

Viele Grüße,

Golo Haas

http://www.golohaas.de - the web the way you want it

Hallo Golo!

Danke!