Problem mit einer Uhr -> Bilder vorladen ...
shadow
- javascript
Hi Leute, hab da ein Problem, ich hab ne Uhr geschrieben, hier mal der Code:
<html>
<body onload="Uhrstart()">
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/clcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/clcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<img src='file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/0lcdb0.gif' height='21' width='16'>
<script type="text/javascript">
var address = "file:///C|/Dokumente%20und%20Einstellungen/Richard/Eigene%20Dateien/Eigene%20Bilder/Sebastian/www.ekiwi.de%20Dateien/Java%20Applets/clock/";
var Zeit = new Array();
Zeit[0] = 2;
Zeit[1] = 3;
Zeit[2] = 5;
Zeit[3] = 9;
Zeit[4] = 5;
Zeit[5] = 9;
var bild1 = new Image();
var bild2 = new Image();
var bild3 = new Image();
var bild4 = new Image();
var bild5 = new Image();
var bild6 = new Image();
function Uhrstart() {
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "clcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "clcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
<!-- document.write("<img src='"+ address + "0lcdb0.gif' height='21' width='16'>"); //-->
window.setTimeout("Uhr()",1000);
}
function Uhr(){
if (Zeit[5] < 9) {
Zeit[5]++;
} else {
Zeit[5] = 0;
Zeit[4]++;
}
if (Zeit[4] > 5) {
Zeit[4] = 0;
Zeit[3]++;
}
if (Zeit[3] > 9) {
Zeit[3] = 0;
Zeit[2]++;
}
if (Zeit[2] > 5) {
Zeit[2] = 0;
Zeit[1]++;
}
if (Zeit[1] > 9) {
Zeit[1] = 0;
Zeit[0]++;
}
if ((Zeit[0] > 1) && (Zeit[1] >3)) {
Zeit[0] = 0;
Zeit[1] = 0;
}
bild1.src = address + Zeit[0] +"lcdb0.gif";
bild2.src = address + Zeit[1] +"lcdb0.gif";
bild3.src = address + Zeit[2] +"lcdb0.gif";
bild4.src = address + Zeit[3] +"lcdb0.gif";
bild5.src = address + Zeit[4] +"lcdb0.gif";
bild6.src = address + Zeit[5] +"lcdb0.gif";
document.images[0].src = bild1.src;
document.images[1].src = bild2.src;
document.images[3].src = bild3.src;
document.images[4].src = bild4.src;
document.images[6].src = bild5.src;
document.images[7].src = bild6.src;
window.setTimeout("Uhr()",1000);
}
</script>
</body>
</html>
So, nun hab ich zwei Probleme
Wieso funktioniert die HTML nicht, wenn ich oben die img's herausnehme und dafür die Komentare aus der Funktion Uhrstarten() herausnehme ???
Lädt der Skript die Bilder jedesmal neu, wenn er hoch zählt??? Also wenn eine Stelle wieder bei 0 ist, lädt er dann das Bild komplet neu, oder holt er sich das vom Lokalen-System??? Sonst müsste mir einer erklären, wie ich die Bilder vorlade, damit ich die nicht immer neu laden muss, damit mein Traffic nicht platzt, sonst bräuchte ich für die Uhr knapp 1 MB in einer Minute.
Danke schon mal für alle Antworten
Hi,
- Wieso funktioniert die HTML nicht, wenn ich oben die img's herausnehme und dafür die Komentare aus der Funktion Uhrstarten() herausnehme ???
weil Du das Dokument zu einem Zeitpunkt verändern möchtest, zu dem es nicht mehr verändert werden kann und deswegen vernichtet wird.
- Lädt der Skript die Bilder jedesmal neu, wenn er hoch zählt???
Das hängt nicht vom Script ab, sondern vom Caching-Verhalten. Lokale Dateien zu cachen wäre allerdings Unfug.
Also wenn eine Stelle wieder bei 0 ist, lädt er dann das Bild komplet neu, oder holt er sich das vom Lokalen-System???
Wieso enden bei Dir eigentlich Fragen auf drei Fragezeichen?
Sonst müsste mir einer erklären, wie ich die Bilder vorlade,
Du kennst das Image()-Objekt. Nutze es einfach.
damit ich die nicht immer neu laden muss, damit mein Traffic nicht platzt, sonst bräuchte ich für die Uhr knapp 1 MB in einer Minute.
Dann machst Du bei den Grafiken etwas falsch.
Cheatah
Du kennst das Image()-Objekt. Nutze es einfach.
Ok, Frage 1 ist geklärt.
Zu Frage 2, ich kenne das Image()-Objekt aus einem halben Tut, bei de.selfhtml.org, das ich von einer Bilderschau zu einer Uhr umgebaut hab. Ich weiß nicht, ob ich wirklich immer die Dateien neu lade, aber da ich ja ständig die URL's ändere, glaub ich das er sie neu lädt, kannst mir das mal erklären?
Hi,
Zu Frage 2, ich kenne das Image()-Objekt aus einem halben Tut, bei de.selfhtml.org, das ich von einer Bilderschau zu einer Uhr umgebaut hab. Ich weiß nicht, ob ich wirklich immer die Dateien neu lade, aber da ich ja ständig die URL's ändere, glaub ich das er sie neu lädt, kannst mir das mal erklären?
der Browsercache richtet sich nicht nach JavaScript-Code, sondern nach a) der URL der Ressource und b) dessen Caching-Empfehlungen. Abgesehen davon, künstlich die URL einer einzelnen Ressource stetig zu verändern (und somit ein eventuelles Caching zu verhindern) existiert aus Deinem Code heraus kein Weg der Beeinflussung.
Cheatah
Das heißt also, das mein Script, nachdem er alle zehn Bilder durch hat, das 11, also wieder das erste vom Cache holt und nicht mehr vom Server, oder?
Hi,
Das heißt also, das mein Script, nachdem er alle zehn Bilder durch hat, das 11, also wieder das erste vom Cache holt und nicht mehr vom Server, oder?
das Script sagt dem Browser lediglich, dass eine bestimmte Ressource angefordert werden soll. Ob der Browser dies macht, entscheidet er allein. Wie diese Entscheidung aussieht, kann ich Dir nicht beantworten, weil ich nicht der Browser bin und auch die Ressource nicht kenne.
Cheatah