unter N 4.7 Probleme mit Style bei JS
Thomas Häber
- javascript
Hallo, ich mal wieder,
Habe unten folgenden Script. Nachdem ich den dynamische Layer mit Netscape 4.x aufgeben musste, da sich dieser nicht relative positionieren ließ habe ich die Zeitanzeige, bekannt aus SelfHTML 7.0 unter N4 mit document.write ausgegeben. Leider entstand dadurch ein neues Problem: Jedes mal wenn man den Browser (N4) maximiert bzw. macht man ein Fenster aus dem Maximierten Browser so verschwindet das style-Attribut der document.write(Uhrzeit) bzw. die document.write-Ausgabe der Uhrzeit ist vollständig verschwunden. Ist das ein Fehler Netscape's oder muss man die style-Attribute in Javascript feststellen?
Bitte um Aufklärung.
Hier der Code:
<html>
<head>
<title>Datumsanagabe</title>
<script language="JavaScript" type="text/javascript">
<!--
Wochentagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
Monatsname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
<!-- Funktion für dynamische(s) Zeit & Datum -->
function ZeitAnzeigen(blazeit)
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth();
var Jahr = Jetzt.getFullYear();
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 = Wochentagname[WoTag] + ", " + Vortag + Tag + ". " + Monatsname[Monat] + " " + Jahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten;
if(document.getElementById) {
document.getElementById("Uhr").innerHTML = Uhrzeit;
document.getElementById("Datum").innerHTML = Datum;
window.setTimeout("ZeitAnzeigen()",1000);
}
else if(document.all) {
document.all.Uhr.innerHTML = Uhrzeit;
document.all.Datum.innerHTML = Datum;
window.setTimeout("ZeitAnzeigen()",1000);
}
else if(document.layers) {
if (blazeit == "U") document.write(Uhrzeit);
else document.write(Datum);
}
}
//-->
</script>
</head>
<body bgcolor="#3366FF" text="#000000" link="#000000" vlink="#000000" alink="#000000">
<table align="center" width="200" height="36" cellspacing="0" cellpadding="0" border="0">
<tr height="18">
<td align="right"><a id="Uhr" style="font-family:Arial,Verdana;text-decoration:none;color:#FFFFFF;" href="http://www.uhrzeit.org" target="_blank"> <script language="JavaScript" type="text/javascript">if (document.layers) ZeitAnzeigen("U");</script></a></td>
</tr>
<tr height="18">
<td align="right"><a id="Datum" style="font-family:Arial,Verdana;text-decoration:none;color:#FFFFFF;" href="javascript:fensteroeffnen('nein','../extras/kalender2.html','_blank','width=240,height=270,resizable=0,scrollbars=0')"> <script language="JavaScript" type="text/javascript">if (document.layers) ZeitAnzeigen("Dat");</script></a></td>
</tr>
</table>
<script language="JavaScript" type="text/javascript">if (document.getElementById || document.all) ZeitAnzeigen();</script>
</body>
</html>
Hi,
[...]
SelfHTML 7.0 unter N4 mit document.write ausgegeben. Leider entstand dadurch ein neues
Problem: Jedes mal wenn man den Browser (N4) maximiert bzw. macht man ein Fenster aus
dem Maximierten Browser so verschwindet das style-Attribut der document.write(Uhrzeit) bzw.
die document.write-Ausgabe der Uhrzeit ist vollständig verschwunden. Ist das ein Fehler
Netscape's oder muss man die style-Attribute in Javascript feststellen?
Bitte im Netscape _nicht_ style="" benutzen! Das fuehrt uU zu unvorhersehbarem Verhalten, wie
von Dir beschrieben, bis hin zu sogar Abstuerzen. Ein grossteil der Fehler und Abstuerze ist auf
style="" zurueckzufuehren.
Lege lieber eine Klasse an, etwa so:
<style type="text/css">
a.uhr
{
font-family:Arial,Verdana,sans-serif,courier;
text-decoration:none;
color:#FFFFFF;
}
</style>
Waehrend der Link dann so aussieht:
<a href="deineadresse" class="uhr">dein Anker</a>
Ausserdem schreib am besten den kompletten Link neu, und nicht nur den Anker.
Gruss,
Christian
http://wwwtech.de