Timeout und Weiterleitung
    
 HomeZeit • Weiterleitung Zeitanzeige ScriptCode   drucken  Seite drucken

 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