 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
15.06.2001, 14:55
|
#1
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
Zeit anzeigen in möglichst allen Browsern aber wie?
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:
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>
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 ...
Danke schon einmal im Vorraus!
Tristan
__________________
--> Tristan @ work <--
|
|
|
15.06.2001, 15:00
|
#2
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Europa
|
über mozilla weiss ich leider nicht bescheid,
aber mir ist ein fehler aufgefallen:
"Mörz" ?
es heisst doch "märz"
pixelfrontline
|
|
|
15.06.2001, 15:05
|
#3
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
stimmt aber jetzt weiter zum eigentlichen Thema
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 <--
|
|
|
15.06.2001, 20:06
|
#4
|
|
TP-Insider
Registriert seit: Mar 2001
Ort: München
|
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:
|
|
|
15.06.2001, 22:00
|
#5
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Zitat:
|
Der dürfte somit keine probleme machen (???)
|
doch macht er
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
|
|
|
21.06.2001, 10:46
|
#6
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
yep ... funktioniert!!!!!! DANKE!
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 <--
|
|
|
23.06.2001, 15:12
|
#7
|
|
TP-Supporter
Registriert seit: Feb 2001
Ort: Berlin
|
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.
|
|
|
24.06.2001, 00:33
|
#8
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
Hmm...
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 <--
|
|
|
24.06.2001, 14:14
|
#9
|
|
Wir werden dich vermissen !! TP Ehrenmitglied
Registriert seit: May 2001
|
<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
|
|
|
24.06.2001, 14:26
|
#10
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
 .... 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
|
|
|
24.06.2001, 14:27
|
#11
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
hmm...
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 <--
|
|
|
24.06.2001, 14:31
|
#12
|
|
Wir werden dich vermissen !! TP Ehrenmitglied
Registriert seit: May 2001
|
meno
__________________
scream doy life and empty the clip!
----------- Caspar ist leider von uns gegangen ----------
* 09.10.1986 +19.10.2004
|
|
|
24.06.2001, 20:02
|
#13
|
|
TP-Supporter
Registriert seit: Feb 2001
Ort: Berlin
|
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?
|
|
|
24.06.2001, 20:16
|
#14
|
|
TP-Junior
Registriert seit: Jun 2001
Ort: Großraum Berlin
|
kannst du ...
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)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:36 Uhr.
|
 |