Image refresh mit setInterval will nicht klappen

booper

Mitglied
hi,

ich versuche ein Image mit Function zu refreshen, das hier ist das was ich bis jetzt prbiert habe:

Code:
<body>
<img src="http://Gast:Gast@boopersserver.orgdns.org/webcam/keller.jpg" name="webcam" border="0">

<script type="text/javascript">
<!--
function refresh(bild)
{bild=document.images[bild]; bild.src=bild.src;}
setTimeout("refresh('webcam')",1500);
//-->
</script>
</body>

ich versteh nicht warum das nicht geht....
 
Hallo!

Was du vorhast, ist das Bild neu vom Server zu laden.
Aber wenn du "bild.src=bild.src" angibst, wird das Bild nur neu aus dem Cache des Browser (wenn vorhanden) geladen.

Um genau dem entgegen zu wirken, musst du über die HTTP-Header dem Browser mitteilen, dass er das Bild nicht cachen soll!

Da du das Bild ja "refreshed", nehm' ich mal an, dass dessen Inhalt dynamisch z. B. mittels PHP erzeugt wird (?!).

Wenn das der Fall sein sollte, kannst du ja einfach die Funktin header() und die dazugehörigen cache-header senden.

Allerdings ist zu erwähnen, dass dieses Vorgehen (wenn man nicht den IE benutzt) nicht immer funktioniert.
 
hm alles klar ich hab keine Ahnung von was du redest aber es hört sich gut an ;)

Kannste mir das mal an einem Code-Beispiel zeigen?
 
Ich hab' grad deinen anderen Beitrag zu diesem Thema entdeckt!
Warum postest du das denn zwei mal?!
Sowas muss doch nicht sein!

Aber, du hast recht!
Ich hab' das mal so ausprobiert (mit berücksichtigung des Cachens).
Hier der Code:

Code:
<html>
<head>
<meta http-equiv="cache-control" content="max-age=0, no-cache, must-revalidate"> 
<meta http-equiv="expires" content="now"> 
<meta http-equiv="pragma" content="no-cache"> 
</head>
<script type="text/javascript">
<!--
setInterval('refr()',2000);
function refr()
{
document.webcam.src = document.webcam.src;
alert ('jetzt');
}
//-->
</script>
<body>
<img src="http://USER:PW@boopersserver.orgdns.org/webcam/keller.jpg" name="webcam" border="0">
</body>
</html>
Das Script zeigt bei mir zwar alle 2 Sekunden "jetzt" an, aber das Bild wird nicht aktualisiert.

Vielleicht könntest du statt dessen für das Bild ein extra Frame machen und dann per window.framename.refresh(); den Inhalt aktualisieren.
Oder du nimmst folgenden Code:


Code:
<html>
<head>
<meta http-equiv="refresh" content="2"> 
</head>
<body>
<img src="http://USER:PW@boopersserver.orgdns.org/webcam/keller.jpg" name="webcam" border="0">
</body>
</html>

Dadurch wird alle 2 Sekunden die GANZE SEITE (nicht nur das Bild) aktualisiert.
 
Der Seiteninhalt ist verschwindend gering, bzw nur Text und das Bild. Ich denke es ist unwarscheinlich nur von Text ein paar GB Trafic zusammen zu bekommen, den das Bild wird ja nicht von meinen Trafic begrenzten Webspace geladen und die Seite kennt eh kaum wer kennt... ;)

Hier die Seite mit Bild
fehlt aber noch alles andere von daher...

thx
 

Neue Beiträge

Zurück