Weiterleitung mit Zeitanzeige
Eine automatische Weiterleitung die zeitabhängig erfolgt kennen sie. In diesem Script lasse ich die verbleibende Zeit einblenden. Innerhalb der Seite und / oder in der Statuszeile.
|
|
automatische Weiterleitung nach Vorgabezeit
Die Weiterleitung erfolgt also anders als im Beispiel 'Weiter bei Inaktivität' unhabhängig von der Benutzreaktivität nach einer festen Zeitvorgabe. Ein Einsatz wäre denkbar auf einer Startseite oder bei einem Quiz, wo die Aufgaben in einem bestimmten Zeitrahmen gelöst werden sollen.
Funktionen
Darstellung eines Downcounters im Body der Seite
Darstellung eines Downcounters in der Statuszeile
Weiterleitung auf eine HTML-Seite
Meldungsfenster (Popup-Alert) optional
|
|
Aufwand
- Script in den Head-Bereich kopieren
- CSS-Formatierungen für die Seitenanzeige in den Head-Bereich kopieren
- Zeitvorgabe im Script festlegen (default: 02:30 Min)
- Umleitungsziel festlegen
Arbeitsweise
Zu Beginn wird der von ihnen eingetragene Vorgabe-Zeitwert gelesen und in Minuten- und Sekundenwerte aufgesplittet. Die aktuelle Zeit wird dem System entnommen und mit dem Countdown begonnen. Im Sekundentakt werden nun die Sekundenwerte heruntergezählt und die beiden Anzeigen aktualisiert.
Beim Erreichen des Nullwerts für Sekunden werden entweder der Minutenvorgabe weitere 60 Sekunden entnommen (abgezogen/subtrahiert) falls der Minutenwert nicht auch bereits Null ist oder die Weiterleitung wird eingeleitet.
<script type="text/javascript" language="JavaScript">
<!-- Begin
// datei die nach dem timeout aufgerufen wird
timedouturl = "zeit-timeout-ende.htm";
var Vorgabe ="2:30"
var Zeit ="";
function Minuten(wert) {
for (var i = 0; i < wert.length; i++)
if (wert.substring(i, i + 1) == ":")
break;
return (wert.substring(0, i));
}
function Sekunden(wert) {
for (var i = 0; i < wert.length; i++)
if (wert.substring(i, i + 1) == ":")
break;
return (wert.substring(i + 1, wert.length));
}
function Display(min, sec) {
var disp;
if (min <= 9) disp = " 0";
else disp = " ";
disp += min + ":";
if (sec <= 9) disp += "0" + sec;
else disp += sec;
return (disp);
}
function CountDown() {
sec--;
if (sec == -1) { sec = 59; min--; }
AnzeigeWert = Display(min, sec);
// Zeitanzeige in der Statuszeile
window.status = "Weiterleitung in : " + AnzeigeWert + " s";
// Zeitanzeige in der Seite
document.getElementById("Zeit").value = "Automatische Weiterleitung in " + AnzeigeWert ;
if (min == 0 && sec == 0) {
// Weiterleitung bei erreichtem Nullwert
window.location.href = timedouturl;
}
else down = setTimeout("CountDown()", 1000);
}
function StarteUhr() {
min = 1 * Minuten(Vorgabe);
sec = 0 + Sekunden(Vorgabe);
CountDown();
}
// Start 1000 MilliSec nach Laden der Seite
window.setTimeout("StarteUhr()",1000);
// End -->
</script>
Varianten
Möglich wäre auch statt der Weiterleitung auf eine andere Seite mit
window.location.href = timedouturl;
eine zeitgesteuerte Anzeige eines Pop-Up-Windows nach dem Schema
NeuesFenster = window.open(timedouturl);
Na ja, ganz so simpel werden Sie das PopUp-Window nicht öffnen wollen. Infos zur Gestaltung von PopUp-Windows lesen Sie in der Rubrik PopUp-Windows

|