Netscape 6 zeigt nichts an.
Thomas Häber
- dhtml
0 Swen Wacker0 curt
0 Carsten
Halle alle miteinander..
In meinen komischen "Zeitscript" lasse ich Zeit und Datum per Javascript generieren, falls der Browser getElementbyId oder document.all unterstützt wird die Zeit dynamisch angezeigt ansonsten lediglich per document.write. das DHTML funktioniert mit getElementById beim MS Internet Explorer (Test mit v5.5). Nur Netscape 6 hat seine Macken und zeigt absolut nichts an.
Vom CSS scheint der Fehler nicht zu kommen. also woran liegt das?
Hier der Code zum Selbst-Ausprobieren:
<html>
<head>
<title>Datumsangabe</title>
<script language="JavaScript" type="text/javascript">
<!--
with (document) {
/* Favoriten-Icon */
write("<link rel='SHORTCUT ICON' href='http://www.haeber.de/pics/bluestarbullet1w.bmp'>");
/* Für alle Sites das gleiche Style */
writeln("<style 'type=text/css'>");
writeln("<!--");
writeln("body {");
writeln("font-family: 'Arial,Helvetica,Verdana';");
writeln("font-size: '12px';");
writeln("scrollbar-face-color: '#121277';");
writeln("scrollbar-arrow-color: '#FFFFFF';");
writeln("scrollbar-base-color: '#3399CC';");
writeln("scrollbar-3d-light-color: '#FFFFFF';");
writeln("scrollbar-darkshadow-color: '#0044AA';");
writeln("scrollbar-highlight-color: '#0088EE';");
writeln("scrollbar-shadow-color: '#3333CC';");
writeln("scrollbar-track-color: '#3366FF';");
writeln("}");
writeln("a.Zeit {");
writeln("font-family:'Arial,Verdana';");
writeln("text-decoration:'none';");
writeln("color:'#FFFFFF';");
writeln("}");
writeln("a.normal {");
writeln("font-family:'Arial,Verdana';");
writeln("text-decoration:'none';");
writeln("font-size:'16px';");
writeln("color:'#000000';");
writeln("}");
writeln("span.normal {");
writeln("color:'#000000';");
writeln("}");
writeln("//-->");
write("</style>");
}
var Wochentagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var Monatsname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
function ZeitAnzeigen(blazeit)
{
var font1 = "<font color='#FFFFFF' face='Arial,Verdana'>";
var font2 = "</font>";
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 + " Uhr";
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(font1 + Uhrzeit + font2);
else document.write(font1 + Datum + font2);
}
}
//-->
</script>
</head>
<body bgcolor="#3366FF" text="#000000" link="#000000" vlink="#000000" alink="#000000">
<script language="JavaScript" type="text/javascript">
<!--
with (document) {
writeln("<table align='center' width='200' height='36' cellspacing='0' cellpadding='0' border='0'>");
writeln("<tr height='18'>");
write("<td align='right'><a id='Uhr' class='Zeit' href='http://www.uhrzeit.org' target='_blank'>");
if (document.layers) ZeitAnzeigen("U");
writeln("</a></td>");
writeln("</tr>");
writeln("<tr height='18'>");
write("<td align='right'><a id='Datum' class='Zeit' href='javascript:fensteroeffnen('nein','../../extras/kalender2.html','_blank','width=240,height=270,resizable=0,scrollbars=0')'>");
if (document.layers) ZeitAnzeigen("Dat");
writeln("</a></td>");
writeln("</tr>");
write("</table>");
}
if ((document.getElementById) || (document.all)) ZeitAnzeigen();
//-->
</script>
</body>
</html>
Vielen Dank fürs lesen und Bemühen.
MfG
Thomas
Moin
Vom CSS scheint der Fehler nicht zu kommen. also woran liegt das?
{if (document.getElementById) {
document.getElementById("Uhr").innerHTML = Uhrzeit;
Weil innerhtml MS-proprietär ist?
nelse if( document.all)
Weil das nur MS-Browser kennen
else if (document.layers)
Weil Netscape 6 das nicht mehr kennt?
Und der arme jetzt nicht mehr weiss, was er machen soll?
Viele Grüße
Swen
Erstmal vorweg, bei mir liefs einwandfrei auch auf dem NN6
Moin
Vom CSS scheint der Fehler nicht zu kommen. also woran liegt das?
{if (document.getElementById) {
document.getElementById("Uhr").innerHTML = Uhrzeit;
Weil innerhtml MS-proprietär ist?
... und Netscape es in der 6er-Version ebenso unterstützt.
gruss
Curt
Moin
Weil innerhtml MS-proprietär ist?
... und Netscape es in der 6er-Version ebenso unterstützt.
Wieder etwas dazu gelernt. Danke
Swen
Moin Swen,
naja, Netscape/Mozilla beugt sich der Microsoften Übermacht :-( :
http://www.mozilla.org/docs/web-developer/upgrade_2.html#other
Viele Grüße
Carsten
Hallo, habe es jetzt nochmal ausprobiert und es funktioniert tedellos.
Genau deswegen hab ich mich auf den Ursprung meines "nun nicht mehr vorhandenen" Fehlers gemacht und bin zu folgendem gekommen:
1. Bevor ich den Script für meinen Eintrag in das SelfHMTL-Forum Kopiert hatte, habe ich den Javascriptcode anstatt von einer externen Datei wie z.B. <script src="datum2.js"></script>
in ein einziges HTML Document kopiert.
2. Um dem Fehler auf die Spur zu kommen hab ich alles umgekehrt veranstaltet, also wieder externen JS genutzt, und siehe da der Fehler war wieder da (Fehler: N6 zeigt nichts an.)
3. Genau deswegen musste der Fehler an den externe Javascript liegen. Deswegen schrieb ich den Externen Javascript innerhalb des Headtags in die Ausgangs-HTML-Datei, trotzdem blieb der Fehler.
4. Der Fehler konnte dementsprechend nur am externe Javascript innerhalb des Bodytags liegen. Und siehe da: Schreibe ich diesen in der Ausgangs-HTML-Datei funktioniert alles. Natürlich habi ich alles nochmal andersherum gemacht und den Script auf Fehler untersucht und um jene zu vermeiden einfach den Code (einmal mit und einmal ohne </-- -->)in die externe .js-Datei hineinkopiert, ohne Erfolg.
--> Daher frage ich mich: Funktioniert externer Javascript beim Netscape 6 innerhalb des Body-Tags nicht, oder gibt es bestimmte Regeln die man einhalten sollte u.a.?
MfG
Thomas
Hallo Thomas,
nachdem der Code nun ja doch läuft trotzdem ein Verbesserungsvorschlag. Das Codestück zum Zeitanzeigen wird ja alle paar Tage hier im Forum gepostet. Damit dieses Beispiel für 'Warum Quältext verstecken Sinn machen könnte' nicht ewig hier rumgeistert hab ich es mal etwas aufgeräumt:
/*******************************************************************************
Dieser Codeteil fügt dem Datumsobjekt von JavaScript zwei Methoden zur
deutschen Datum- und Zeitausgabe hinzu.
*/
function trail0(wert)
{
if (wert<10)
return "0"+wert;
return wert;
}
function __ZeitText()
{
return trail0(this.getHours()) + ":" + trail0(this.getMinutes())+ ":"+ trail0(this.getSeconds()) ;
}
Date.prototype.ZeitText=__ZeitText;
function __DatumText()
{
var Wochentagname = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var Monatsname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
return Wochentagname[this.getDay()] + ", " + trail0(this.getDate()) + ". " + Monatsname[this.getMonth()] + " " + this.getFullYear();
}
Date.prototype.DatumText=__DatumText;
/*******************************************************************************
...und so werden sie in deinem Code benutzt:
*/
function ZeitAnzeigen(blazeit)
{
var font1 = "<font color='#FFFFFF' face='Arial,Verdana'>";
var font2 = "</font>";
var Jetzt = new Date();
var Datum = Jetzt.DatumText();
var Uhrzeit = Jetzt.ZeitText()+" Uhr";
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(font1 + Uhrzeit + font2);
else document.write(font1 + Datum + font2);
}
}
Gruss,
Carsten
Nochmal zum Thema Quältext-Vertstecken:
Ich hatte nie vor den Quelltext zu verstecken, ich hatte ihn nur deswegen oin einer exteren Datei gebracht damit er schneller in weiteren HTML-Dokumenten verwendet werden kann. Zusätzlich schrumpfen alle weiteren HTML-Dokumente aufgrund des exteren Scripts.
Genau deswegen hat der externe Script eine viel bedeutendere Verwendung als das Verstecken.
MfG
Thomas