Script läuft im FF nicht

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
habe auf meiner Homepage ein Script durch den das aktuelle Datum angezeigt wird integriert:
Code:
window.setTimeout("ZeitAnzeigen()",1000);
Wochentagname =
 new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");

function ZeitAnzeigen()
{
 var Jetzt = new Date(); var Tag = Jetzt.getDate();
 var Monat = Jetzt.getMonth() + 1; var Jahr = Jetzt.getYear();
 var Stunden = Jetzt.getHours(); var Minuten = Jetzt.getMinutes();
 var Sekunden = Jetzt.getSeconds(); var WoTag = Jetzt.getDay();
 var Vortag  = ((Tag < 10) ? "0" : "");
 var Vormon  = ((Monat < 10) ? ".0" : ".");
 var Vorstd  = ((Stunden < 10) ? "0" : "");
 var Vormin  = ((Minuten < 10) ? ":0" : ":");
 var Vorsek  = ((Sekunden < 10) ? ":0" : ":");
 var Datum = Vortag + Tag + Vormon + Monat  + "." + Jahr;
 var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
 var Gesamt = Datum + "  " + Wochentagname[WoTag] + "  " + Uhrzeit;

 if(document.all)
   document.all.MicrosoftUhr.innerHTML = Gesamt;
 else if(document.layers)
  {
   document.NetscapeUhr.document.open();
   Gesamt = '<span class="Uhr")>' + Gesamt + '</span>';
   document.NetscapeUhr.document.write(Gesamt);
   document.NetscapeUhr.document.close();
  }
 window.setTimeout("ZeitAnzeigen()",1000);
}
Code:
<div id="MicrosoftUhr" class="Uhr"></div>
<layer id="NetscapeUhr"></layer>

Das Problem ist nun das dieses Script leider nicht im FF angezeigt wird sondern nur im IE. Woran kann das liegen? JS ist im FF aktiviert.

Viele Grüße
 
Das liegt daran, dass Firefox weder document.all, noch document.layers unterstützt.

Benutz stattdessen besser document.getElementById(). Das funktioniert auch im IE, im Opera und in den neueren Versionen von Netscape.
 
hallo,

versuche es mal mit folgendem script im head:

<script type="text/javascript">
// Clock
var loaded = false;
if (document.layers)
document.write('<STYLE>.rewritable { position: absolute; }<\/STYLE>');
function Clock (offsetSec, style) {
this.id = Clock.cnt;
Clock.clocks[Clock.cnt++] = this;
this.offsetSec = offsetSec || 0;
this.style = style || '';
this.writeHTML();
this.startTimer();
}
function Clock_writeHTML () {
var html = '';
if (document.layers) {
html += '<SPAN';
html += ' ID="Clock' + this.id + '"';
html += ' CLASS="rewritable"';
html += '>';
html += '<SPAN';
html += this.style ? ' CLASS="' + this.style + '"' : '';
html += '>';
html += this.formatTime();
html += '<\/SPAN>';
html += '<\/SPAN>';
}
else {
html += '<SPAN';
html += ' ID="Clock' + this.id + '"';
html += this.style ? ' CLASS="' + this.style + '"' : '';
html += '>';
html += this.formatTime();
html += '<\/SPAN>';
}
document.write(html);
}
Clock.prototype.writeHTML = Clock_writeHTML;
function Clock_formatTime () {
var time = new Date();
time.setTime(time.getTime() + this.offsetSec * 1000);
var hours = time.getHours();
var minutes = time.getMinutes();
var seconds = time.getSeconds();
var html = '';
html += hours < 10 ? '0' + hours : hours;
html += ':';
html += minutes < 10 ? '0' + minutes : minutes;
html += ':';
html += seconds < 10 ? '0' + seconds : seconds;
return html;
}
Clock.prototype.formatTime = Clock_formatTime;
function Clock_startTimer () {
this.tid = setInterval('Clock.clocks[' + this.id + '].updateTime()', 1000);
}
Clock.prototype.startTimer = Clock_startTimer;
function Clock_updateTime () {
if (document.all)
document.all['Clock' + this.id].innerHTML = this.formatTime();
else if (document.getElementById)
document.getElementById('Clock' + this.id).firstChild.nodeValue =
this.formatTime();
else if (document.layers && loaded) {
var l = document['Clock' + this.id];
if (!l.ol) {
var ol = l.ol = new LayAer(l.clip.width);
ol.clip.height = l.clip.height;
ol.left = l.pageX; ol.top = l.pageY;
ol.visibility = 'show';
l.visibility = 'hide';
}
var ol = l.ol;
var html = '';
html += '<SPAN';
html += this.style ? ' CLASS="' + this.style + '"' : '';
html += '>';
html += this.formatTime();
html += '<\/SPAN>';
ol.document.open();
ol.document.write(html);
ol.document.close();
}
}
Clock.prototype.updateTime = Clock_updateTime;
Clock.cnt = 0;
Clock.clocks = new Array();
function init () {
loaded = true;
}
</script>

**********************************************************************************
und im body:

<script>
<!--
var now = new Date();
var yr = now.getFullYear();
var mName = now.getMonth() + 1;
var dName = now.getDay() + 1;
var dayNr = ((now.getDate()<10) ? "0" : "")+ now.getDate();
if(mName==1) Month="Januar";
if(mName==2) Month="Februar";
if(mName==3) Month="März";
if(mName==4) Month="April";
if(mName==5) Month="Mai";
if(mName==6) Month="Juni";
if(mName==7) Month="Juli";
if(mName==8) Month="August";
if(mName==9) Month="September";
if(mName==10) Month="Oktober";
if(mName==11) Month="November";
if(mName==12) Month="Dezember";
// String to display current date.
var todaysDate =(" " + dayNr + ". " + Month + " " + yr + "<BR>");
document.open();
document.write(""+todaysDate+"");
new Clock(0, 'js');
// -->
</script>

Sollte funktionieren.
Beervampir
 

Neue Beiträge

Zurück