Countdown-Funktion auch für Netscape !?

FRitter

Erfahrenes Mitglied
Hallo an alle!

Ich nutze eine Countdown-Funktion, um den WebSite-Besucher nach z.B. falscher Passworteingabe zur Loginseite zurückzuleiten - aber das ganze funktioniert nur im IE einwandfrei, z.B. Netscape zeigt gar nichts an...

Die JS-Datei binde ich folgendermaßen ein:

Code:
<script src="CountDown30.js" type="text/javascript">
</script>

Mir ist nicht ganz klar, wann und für welchen Browser dort stehen muss z.B. "type=text/javascript" oder auch "language=javascript" - geht es nicht einheitlich? Mir ist aufgefallen, dass die Interpretation sehr verschieden ist!


Hier das Script (es kann so komplett in eine HTML-Datei kopiert werden):

Code:
<body onload="countdown30()">

<SCRIPT language="JavaScript">
<!--
var g_iCount = new Number();
var g_iCount = 31;

function countdown30(){
       if((g_iCount - 1) >= 0){
               g_iCount = g_iCount - 1;
               NumberCountDown.innerText = g_iCount;
               setTimeout('countdown30()',1000);
       }
       if((g_iCount + 1) == 1){
window.location.href = "http://www.beispielseite_abcdefgh.de";
       }
}
//-->
</SCRIPT>

<div align="center" id="NumberCountDown">
</div>
<div align="center" id="Javascript:countdown30()">
</div>
 
Die innerText-Eigenschaft kennt nur der IE.

Die einfachste Variante, welche so ziemlich jeder Browser verstehen dürfte, wäre ein Text-Input, dessen value du änderst.
Per CSS kannst du das Terxtfeld ja so gestalten, dass man es nicht als solches errkennt...der Effekt wäre identisch.


Zu type/language ....auf das "language" kannst du ruhig verzichten, das "type" dagegen ist lt. HTML ein Muss.
 
Hallo und danke für die Antwort.

An eine solche "Not-Lösung" habe ich auch schon gedacht - damit klappt es dann auch auf jeden Fall. Aber gibt es keine einheitliche, "elegantere" Lsg. dafür

Was meint ihr ?
 
HTML:
<html><head><title>Test</title></head><body>
 
 <script language="javascript"><!--
 var g_iCount = 5
 
 function countdown30() {
 	if(g_iCount > 0) {
 		if (document.getElementById) document.getElementById("NumberCountDown").innerHTML = g_iCount
 		else if (document.all) document.all.NumberCountDown.innerHTML = g_iCount
 		else if (document.layers) {
 			document.layers["NumberCountDown"].document.clear()
 			document.layers["NumberCountDown"].document.write(g_iCount)
 			document.layers["NumberCountDown"].document.close()
 		}
 
 		g_iCount--
 		setTimeout("countdown30()",999)
 	} else window.location.href = "http://www.beispiel.de"
 }
 
 window.onload=countdown30
 //--></script>
 
 <layer align="center" id="NumberCountDown">Fehler</layer><br>
 
 </body></html>
 
Zuletzt bearbeitet:
Vielen, vielen Dank für diese Lösung!

Ich musste nur noch "innerText" durch "innerHTML" in den JS-Dateien ersetzen, und alles ist zu IE, Mozilla NS, Mozilla Firefox kompatibel.

So muss es sein, danke!

(Thema hat sich hiermit erledigt)
 
Naja mit den if-/else if-Zweigen, die ich oben in mein script geschrieben hab geht's besser als wenn du nur innerText dur innerHTML erstetzt, dann es nämlich auch mit Netscape ab 4.0.
 
Zuletzt bearbeitet:
Zurück