Bild reloaden
Broesel
- html
Hi !!!
Ich habe zwei Probleme und hoffe es kann mir einer helfen !! :)
1.
Ich möchte das ein einzelnes Bild (WebCam) auf meiner Seite
im Abstand von 30s neu geladen wird. Wie funktioniert das, ohne
das ich die ganze Seite neu laden muss ??
2.
Ich möchte in der unteren Leiste des IE (da wo FERTIG steht)
Lauftext anzeigen. Wie geht das ??
Hoffe es kann mir einer die Frage beantworten !!
Broesel
Moin,
zu deiner ersten frage fiele mir als sinnvolle loesung nur ein script ein, was sich aus dem bild automatisch erzeugt (php/perl) und ueber einen reload im header sich selbst neu laden laest...
zu deiner zweiten frage:
<script language="JavaScript">
<!--
var Text = "Lauftext";
var Geschwindigkeit = 5; /*** Nach Bedarf erhoehen oder erniedrigen ***/
var Breite = 150; /*** Nach Bedarf erhoehen oder erniedrigen ***/
var TextLaenge = Text.length; /*** Bitte nicht aendern ***/
var Position = 1 - Breite; /*** Bitte nicht aendern ***/
function StatusLauftext()
{
Position++;
var Textzustand="";
if (Position == TextLaenge)
{
Position = 1 - Breite;
}
if (Position < 0)
{
for (var Zaehler=1; Zaehler <= Math.abs(Position); Zaehler++)
{
Textzustand = Textzustand + " ";
};
Textzustand = Textzustand + Text.substring(0, Breite - Zaehler + 1);
}
else
{
Textzustand = Textzustand + Text.substring(Position, Breite + Position);
}
window.status = Textzustand;
setTimeout("StatusLauftext()",Geschwindigkeit);
}
//-->
</script>
und
<body onload="StatusLauftext()">
Hi,
Ich möchte das ein einzelnes Bild (WebCam) auf meiner Seite
im Abstand von 30s neu geladen wird. Wie funktioniert das, ohne
das ich die ganze Seite neu laden muss ??
<script>
function bildreload()
{
document.images['namedesbildes'].src = document.images['namedesbildes'].src;
}
window.setTimeout("bildreload()", 30000);
</script>
Ich möchte in der unteren Leiste des IE (da wo FERTIG steht)
Lauftext anzeigen. Wie geht das ??
http://www.teamone.de/selfaktuell/archiv/doku/6.0/tdda.htm
Aber der ist mit Bauchschmerzen, ich mag das nämlich nicht.
Bye Ed X
Ähm, hallo nochmal,
Ich möchte das ein einzelnes Bild (WebCam) auf meiner Seite
im Abstand von 30s neu geladen wird. Wie funktioniert das, ohne
das ich die ganze Seite neu laden muss ??
<script>
function bildreload()
{
document.images['namedesbildes'].src = document.images['namedesbildes'].src;
}
window.setTimeout("bildreload()", 30000);
</script>
mir dämmert gerade, dass ich da evtl. Mist geschrieben habe. Der Code lädt das bild zwar auf jeden Fall neu und lokal funktioniert das auch, aber das heisst noch lange nicht, dass der Browser sich da online nicht den Weg spart und nur im Cache nachsieht, die faule Sau! Weiß wer was genaueres, wie man das umschiffen kann?
Bye Ed X
Moin,
mir dämmert gerade, dass ich da evtl. Mist geschrieben habe. Der Code lädt das bild zwar auf jeden Fall neu und lokal funktioniert das auch, aber das heisst noch lange nicht, dass der Browser sich da online nicht den Weg spart und nur im Cache nachsieht, die faule Sau! Weiß wer was genaueres, wie man das umschiffen kann?
Ganz faule Loesung, die mir grad einfiel:
<script>
function bildreload(){
document.images['namedesbildes'].src = 'urldesbildes' + '?' + Math.random();
}
window.setTimeout("bildreload()", 30000);
</script>
hoffe, das funktioniert...
Gruß
Stephan
Hi Stephan,
Richtig guter Ansatz. Also offensichtlich habe ich gestern ein ganz paar Lücken gehabt..... Hast Du dir mal angesehn, wo die Timeout-Anweisung stand?
Also der code hier ist getestet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Bildreloead</title>
<meta http-equiv="expires" content="0">
<script>
function bildreload()
{
imageurl = document.images['bild1'].src.split("?");//zur vermeidung von unnoetigen Rattenschwaenzen
document.images['bild1'].src = imageurl[0] + "?" + Math.random();
window.setTimeout("bildreload()", 20000); //20 sekunden
}
window.setTimeout("bildreload()", 20000); // fuer ersten aufruf
</script>
</head>
<body>
<img name="bild1" src="http://eddie/scriptsamples/images/email.jpg">
</body>
</html>
Bye Ed X
Danke für die schnellen Antworten !!!
Werde es gleich mal auprobieren.
Broesel