Probleme mit reload !!

TheoMatt

Grünschnabel
Hallo,
ich habe folgendes "Problemchen", für mich allerdings ein großes. Ich möchte ein reload eines Fotos automatisieren, d.h. der Besucher der Domain sieht ein Foto, das ständig z.B. alle 3 sek wechselt.

Ich habe das jetzt mit einem reload der ganzen Seite gemacht, aber das ist unsinnig, der Aufbau dauert bei bestimmten Rechnern zu lange und man sieht auch bei langsameren Rechnern den Seitenaufbau.

Das bisherige Skript sieht so aus:
Das Foto wird vom Server geholt: <img width="260" height="150" border="0" src="/cgi-bin/bannermanager.pl" alt="[Wechselndes Banner]">

Jeder manuelle reload bringt ein neues Foto.

Damit reloade ich die Seite neu:
<script language="JavaScript">
window.setTimeout("location.reload()",5000);
</script>

Wie reloade ich nur das Foto "Wechselndes Banner"?

Wäre für eine Hilfestellung sehr dankbar.

Theo
 
Moin Theo,

dies wäre eine mögliche Variante:
Code:
<img id="banner" width="260" height="150" border="0" src="/cgi-bin/bannermanager.pl" alt="[Wechselndes Banner]">
<script language="JavaScript">
window.setInterval(
                  function()
                  {
                    var img=document.getElementById('banner');
                    if(!img.getAttribute('lowsrc'))
                      {
                        img.setAttribute('lowsrc',img.src);
                      }
                    img.src=img.getAttribute('lowsrc')+'?'+new Date().getTime();
                  }
            ,
        5000);
</script>

Das Bild erhält erstmal eine ID, um es ansprechen zu Können(hier "banner")

Ein "sicherer" Reload des Bildes ist nur gewährleistet, wenn sich kein Dokument mit der URL(/cgi-bin/bannermanager.pl) im Browsercache befindet, deswegen etwas mehr Code:
Beim ersten Aufruf wird die Original-URL der einfachheit halber im lowSrc-Attribut des Bildes gespeichert.
Danach wird die src des Bildes geändert, indem ein Timestamp an die Original-URL angehängt wird(fertig ist die neue URL ;))

Das wars eigentlich schon :)
 
Hallo Sven,

vielen Dank für Deine schnelle Antwort und Hilfe.:D Hab das Skript schon abgeändert und es funktioniert prima. Bin eben noch ein Anfänger, und da freut man sich wirklich über fundierte Hilfe, noch dazu so unproblematisch und schnell. Nochmals vielen Dank.:p:p
Beste Grüße
Theo
 

Neue Beiträge

Zurück