nico_droste
Threadersteller
Dabei seit: 02.09.2005
Ort: Gelsenkirchen
Alter: -
Geschlecht:
|
Verfasst Mo 26.09.2005 14:31
Titel JAVASCRIPT: geöffnete Fenster verwalten |
|
|
Hallo,
ich schreibe gerade so eine art Mitarbeiter Oberfläche für ein Kinderheim.
Aus sicherheitsgründen beende ich die sitzung automatisch wenn man 15 min lang auf nichts geklickt hat. dazu habe ich jetzt einen countdown-timer eingebaut, welcher dem benutzer anzeigt wielange die sitzung noch geht.
wenn auf einen link innerhalb der webseite gedrückt wird, initialisiert der timer sich neu und dem benutzer stehen wieder 15min zur verfügung.
ein problem entsteht allerdings, wenn ich mehrere fenster habe, z.b. fenster A, B, C.
Beispiel:
Ein benutzer loggt sich in den bereich mit fenster A ein. dann laufen in Fenster A die 15 min runter.
Jetzt drückt er in fenster A auf einen Link, welcher sich in einem neuene Fenster öffnet (fenster B). Dann laufen in fenster B wieder 15min runter, ich kann auch den countdown in A aktualisieren, indem ich z.b. dieses beim aufrufen einer seite mache:
opener.minuten=15;
opener.sekunden=0;
Dann würde in fenster A und B der Timer stimmen. Wenn ich B aber jetzt offen lasse und zurück in A gehe und nochmal ein neues Fenster (C) öffne, stimmt der Timer nurnoch in A und C. in B ist die zeit versetzt.
Ich würde aber gerne in allen Fenstern die countdown-zeit immer gleich haben außerdem, würde ich gerne alle Fenster (A,B,C) schließen wenn in einem Fenster auf logout gedrückt wird.
Leider bin ich noch nicht so fit in javascript.
Ich habe aber schon einen ansatz überlegt:
wenn sich ein fenster öffnet, gibt es sein handle (falls es sowas in JS gibt) an den opener. falls der opener noch einen opener hat, gibt er es weiter bis dieses handle bei einem fenster ist, welches keinen opener mehr hat. dieses fenster kennt demnach dann alle handles aller fenster, welche zu dieser oberfläche gehören. also könnte dieses fenster auch alle fenster bei einem logout schließen, bzw. könnte dieses fenster dann die zeit in allen anderen fenstern updaten.
harken an der sache: wenn dieses verwaltunsfenster geschlossen wird, obwohl die anderen fenster noch offen sind, muss es ein anderes verwaltungsfenster 'ernennen', welches dann alle aufgaben übernimmt.
vielleicht geht es auch, dass man alle fenster durch sowas wie einen namen kennzeichnet und durch einen 'getwindowsbyname' befehlt wiederholen kann...??
hat dazu jemand eine idee, oder gibt es eine einfachere / bessere lösung?
Ich hoffe ihr könnt mir helfen!
gruß
nico
|
|