05:00
Ein Countdown, der Takte zählt, geht nach; einer, der auf die Uhr sieht, nicht
Browser bremsen Zeitgeber in Tabs, die Sie nicht ansehen, absichtlich aus. Ein Countdown, der bei jedem Takt einen festen Betrag abzieht, verliert genau so viel Zeit, wie der Browser zurückgehalten hat, und endet daher zu spät — mitunter um Minuten. Dieser hier speichert den Zeitpunkt, zu dem er enden soll, und vergleicht bei jeder Aktualisierung mit der Systemuhr, wodurch die Drosselung bedeutungslos wird.
So wird gerechnet
- Verwandelt Stunden, Minuten und Sekunden in eine Dauer und zählt sie herunter.
- Hält beim Start einen Zielzeitpunkt fest und leitet die Anzeige aus der Uhr ab.
- Pausiert und setzt auf der Restzeit fort und sperrt die Eingaben, solange er läuft.
Dauer = Stunden × 3.600.000 + Minuten × 60.000 + Sekunden × 1.000 (Millisekunden) Zielzeit = jetzt + Dauer Rest = Zielzeit − jetzt, bei jeder Aktualisierung neu gelesen beendet, wenn Rest ≤ 0
Rechenbeispiel
Ein Fünf-Minuten-Timer, gestartet und dann in einem Hintergrundtab gelassen.
- Dauer = 5 × 60.000 = 300.000 ms
- die Zielzeit steht in dem Augenblick fest, in dem Sie starten
- ein taktzählender Timer zieht je Aktualisierung einen festen Schritt ab, ausgefallene Aktualisierungen sind also verlorene Zeit
- dieser berechnet Zielzeit − jetzt, ausgefallene Aktualisierungen kosten also nichts
- wenn Sie zum Tab zurückkehren, stimmt die Anzeige bereits
Der Countdown ist genau, ob Sie zusehen oder nicht. Jeder Timer, der seine eigenen Abzüge aufsummiert, statt die Uhr zu befragen, driftet genau unter den Bedingungen, unter denen Sie ihn am ehesten einsetzen.
Das Ergebnis lesen
- Der Timer lebt in der Seite. Das Schließen des Tabs zerstört ihn, und danach erreicht Sie kein Alarm mehr — für alles, was Sie wirklich nicht verpassen dürfen, nehmen Sie einen Gerätewecker, der den Browser überdauert.
- Das Pausieren bewahrt die Restzeit, nicht die ursprüngliche Dauer, das Fortsetzen macht also dort weiter, wo Sie gestoppt haben. Zurücksetzen kehrt zu dem zurück, was die Eingaben gerade sagen — deshalb sind die Eingaben während des Laufs gesperrt.
- Angezeigte Sekunden werden aufgerundet, ein Timer mit 1:00 hat also noch zwischen neunundfünfzig und sechzig Sekunden. So heruntergezählt erreicht die Anzeige 0:00 genau dann, wenn die Zeit wirklich um ist, und nicht eine Sekunde früher.
- Hintergrundtabs können auch den Moment verzögern, in dem das Ende bemerkt wird. Die Restzeit stimmt, sobald die Seite wieder läuft, aber ein Browser, der den Tab vollständig ausgesetzt hat, kann Sie nicht sekundengenau benachrichtigen.
Häufige Fragen
- Läuft der Timer weiter, wenn ich den Tab wechsle?
- Ja, und er bleibt genau. Weil die Endzeit beim Start festgelegt wird und die Anzeige aus der Systemuhr stammt, ändert die Drosselung im Hintergrundtab nur, wie oft die Zahl neu gezeichnet wird, nie die Zahl selbst.
- Kann ich den Tab schließen und trotzdem benachrichtigt werden?
- Nein. Ein in einer Seite laufender Countdown hört mit der Seite auf zu existieren. Wenn ein Verpassen zählt, stellen Sie zusätzlich einen Wecker am Telefon oder Betriebssystem.