über mozilla weiss ich leider nicht bescheid,
aber mir ist ein fehler aufgefallen:
"Mörz" ?
es heisst doch "märz"
pixelfrontline![]()
![]()
Hallo,
Ich bin neu in diesem Forum und plage mich schon eine geraume Zeit mit einem Problem herum: ich will das aktuelle Datum + die aktuelle Zeit auf meiner Homepage anzeigen, dabei soll die Zeit im Sekundentakt weiterlaufen, es soll also eine richtige Uhr dargestellt werden ...
Ich habe irgendwann einmal ein JavaScript bekommen, welches sowohl auf dem Internetexplorer als auch auf dem alten Netscape Navigator 4.x funktioniert, jedoch nicht mit dem neuen bzw. Mozilla ...
Hier mal das Script:
Wie schon oben erwähnt, suche ich nach einer möglichst universalen Lösung die überall (oder fast überall) funktioniert! Mir stehen ASP & (D)HTML, und JavaScript zur Verfügung ...Code:<script language="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"); 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 + ". " + Monatsname[Monat-1] + " " + Jahr; var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden; var Gesamt = "<center><font color=black face=Arial size=2><b>" + Wochentagname[WoTag] + ", " + Datum + "<br>" + Uhrzeit + " Uhr</b></font></center>"; 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); } // --> </script> </HEAD> <BODY bgcolor=#FFFFFF> <CENTER> <table cellspacing=0 cellpadding=0 border=0> <tr> <td background="images/timebackground.jpg" width=300 height=80> <div id="MicrosoftUhr" class="Uhr"></div> <layer id="NetscapeUhr"> </layer> <script language="JavaScript"> <!-- window.setTimeout("ZeitAnzeigen()",10); // --> </script> </td> </tr> </table> </CENTER> </BODY> </HTML>
Danke schon einmal im Vorraus!
Tristan
--> Tristan @ work <--
über mozilla weiss ich leider nicht bescheid,
aber mir ist ein fehler aufgefallen:
"Mörz" ?
es heisst doch "märz"
pixelfrontline![]()
![]()
jaja ... im Original heißt es ja auch März ... weiß nicht warum der neuerdings beim kopieren solche Sachen macht ...
Update:
Uppss ... ASCII statt ANSI-Kodierung eingestellt dann passiert soetwas ...
--> Tristan @ work <--
Zu Mozilla
Das ist die Open Source variante vom NS, mit dem sollte eigentlich alles gehen was mit dem normalen netscape auch geht, und wahrscheinlich noch ein bißchen mehr.
Der dürfte somit keine probleme machen (???)
Format C:
doch macht erDer dürfte somit keine probleme machen (???)
In der Variante, wie Dein Script aufgebaut ist, wird ein Layer halt immerwieder neu geschrieben.
Das Script ist so aufgebaut, das es eine Variante für den IE4.x und den >NS4.5 gibt...
if(document.all) ... <- IE
if(document.layers) ... <- NS4.x
...naja... und der Neue NS der 6er, bzw "Mozilla" kennt weder doucment.all noch document.layers...
Also, kann da auch garnix passieren... weil keine Variante TRUE zurückgibt. Du dürftest auch keine JavaScript fehler in der JS-Console haben, oder??
Für den NS6.x und den IE5.x gibt es eine "neue" Art die Layer anzusprechen... und zwar, so:
else if(document.getElementById)
document.getElementById("MicrosoftUhr").innerHTML = Gesamt;
...das mußt du mit in die IF/ELSE-Abfrage reinhaun und dann sollte es klappen.
Achja... würd mich mal interresieren, ob der Kram auch im Opera funzt. Ich meine dort fuzt es nicht...zumindest bei mir...
Gruß Jan
Also die Lösung von Stuck Mojo hat mich wirklich weiter gebracht! Es funktioniert jetzt fast problemlos, hab nur noch ein Problem mit dem Datum (101 im Mozilla statt 2001 im IE) aber das ist denke ich mal, nur noch ein kleines Problem ...
Also DANKE, DANKE, DANKE!
--> Tristan @ work <--
Mich würde sehr die Weiterentwicklung dieses Scriptes interessieren also wenn das einer gemacht hat und das hier mal posten könnte, wäre echt toll.
-Thinking keeps you alive-
Webspace & Resellerwebspace | Webdesign aus Arnsberg | Interimsmanager gesucht? | Mietkoch Berlin | FISHERS-PARADISE ® - Angelgeräte und Zubehör |
Allsoooo ... die Weiterentwicklung des Scripts ...
Mein fertiges und überall (d.h. Netscape 4.x, IE 4.x-6.x, Mozilla 0.91 oder Netscape 6.x) funktionierendes Script sieht so aus (man beachte das GetFullYear()!)
<script language="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");
function ZeitAnzeigen()
{
var Jetzt = new Date();
var Tag = Jetzt.getDate();
var Monat = Jetzt.getMonth() + 1;
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 = Vortag + Tag + ". " + Monatsname[Monat-1] + " " + Jahr;
var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
var Gesamt = "<center><font color=black face=Arial size=2><b>" + Wochentagname[WoTag] + ", " + Datum + "<br>" + Uhrzeit + " Uhr</b></font></center>";
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();
}
else if(document.getElementById)
document.getElementById("MicrosoftUhr").innerHTML = Gesamt;
window.setTimeout("ZeitAnzeigen()",1000);
}
// -->
</script>
</HEAD>
<BODY bgcolor=#FFFFFF>
<CENTER>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td background="images/timebackground.jpg" width=300 height=80>
<div id="MicrosoftUhr" class="Uhr"></div>
<layer id="NetscapeUhr">
</layer>
<script language="JavaScript">
<!--
window.setTimeout("ZeitAnzeigen()",10);
// -->
</script>
</td>
</tr>
</table>
</CENTER>
</BODY>
</HTML>
Hoffe ich konnte auch ein klein wenig helfen ...
P.S: MicrosoftUhr könnte man natürlich auch noch umbenennen...
--> Tristan @ work <--
<BODY onLoad="startclock();">
die aktuelle Zeit und Datum :
<FORM NAME='jsfrm'><INPUT TYPE=text NAME='face' size=27 value=''>
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerRunning = false
function KHArray(size)
{
this.length = size;
for(var i = 1; i <= size; i++)
{
this[i] = "";
}
return this;
}
function stopclock (){
if(timerRunning)
clearTimeout(timerID);
timerRunning = false
}
function showtime () {
var now = new Date();
var year = now.getYear();
var month = now.getMonth() + 1;
var date = now.getDate();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var day = now.getDay();
Day = new KHArray(7);
Day[0]="SON";
Day[1]="MON";
Day[2]="DIE";
Day[3]="MIT";
Day[4]="DON";
Day[5]="FRE";
Day[6]="SAM";
var timeValue = "";
timeValue += (Day[day]) + " ";
timeValue += date + "-";
timeValue += ((month < 10) ? " 0" : "") + month + "-";
timeValue += year + " ";
timeValue += ((hours <= 12) ? hours : hours - 12);
timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
timeValue += (hours < 12) ? " AM" : " PM";
document.jsfrm.face.value = timeValue;
timerID = setTimeout("showtime()",1000);
timerRunning = true
}
function startclock () {
stopclock();
showtime()
}
//-->
</SCRIPT>
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
probiers doch ma damit
scream doy life and empty the clip!
----------- Caspar ist leider von uns gegangen ----------
* 09.10.1986 +19.10.2004
.... funzt bestimmt auch...
Aber das Problem lag darin, das man nicht einfach ein Formularfeld "füllen" wollte, sondern einen Layer neu schreiben wollte, in dem die Zeit angezeigt wird...
Gruß Jan
Hmm ... im neuen Mozilla würde dir dieses script also zunächst mal ein Jahr von 101 anzeigen (Nimm GetFullYear()) und das ganze würde dann nur in einem Textfeld angezeigt werden... hmm ... ansonsten müsste man noch ein Array für die Monatsnamen hineinbasteln und das ganze auf deutsche Zeitanzeige umstellen aber im Prinzip sollte das so auch gehen, ja ... aber eben nur so lange wie du es in die Form/in das Textfeld reinschreibst ansonsten müsstest du wahrscheinlich wieder mit den Layer/Div-informationen herumeiern ...
Tristan
--> Tristan @ work <--
meno![]()
scream doy life and empty the clip!
----------- Caspar ist leider von uns gegangen ----------
* 09.10.1986 +19.10.2004
Hi danke für das Script, aber unter NS 4.x und Opera funnzt es nicht bei mir!
Ich habe den Scriptaufruf in eine Tabellenzelle eingebaut und es wird nix angezeigt. Ideen?
-Thinking keeps you alive-
Webspace & Resellerwebspace | Webdesign aus Arnsberg | Interimsmanager gesucht? | Mietkoch Berlin | FISHERS-PARADISE ® - Angelgeräte und Zubehör |
Kannst du mal deine implementation posten? Opera hab ich leider nicht aber in Netscape 4.7x funktioniert es bei mir problemlos ...
--> Tristan @ work <--
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)