Hallo zusammen,
ich habe für unsere tolle Webzwonull-Anwendung mehrere Timer mit window.setTimeout gesetzt, die dafür sorgen, dass einzelne Seitenbereiche automatisch aktualisiert werden. So weit, so gut.
Leider sollen Benutzer auch manuell die Seitenbereiche aktualisieren dürfen, wenn sie ungeduldig sind. Damit das nicht dazu führt, dass ein neuer Timer gestartet wird, behalte ich alle Timeout-IDs in einem globalen Array und stoppe jeden Timer, bevor ich ihn neu setze. Das klappt aber nicht so wie gewünscht, also obwohl ich eigentlich für jeden Seitenbereich nur ein Timeout gleichzeitig laufen haben (sollte), aktualisiert der Browser (Firefox 3) schon mal dreimal hintereinander, wenn man dreimal auf "Aktualisieren" geklickt hat.
Gibt es eine Möglichkeit, alle laufenden Timeouts aufzulisten und so das Ganze besser zu debuggen?
Wenn nicht, welche Workarounds gäbe es?
Vielen Dank im Voraus!
Der Yeti
P.S.: Code
function StartUpdate(id, updateFrequency) {
if (updater[id] != undefined)
window.clearTimeout(updater[id]);
updater[id] = window.setTimeout('CheckForUpdate('+id+')', updateFrequency);
}
Alle Aufrufe des Timers laufen nur über StartUpdate().