Refresh über Javascriptfunktion
Wolfgang Graf
- javascript
0 Utz0 wolfgang graf0 Utz
Gibt es eine Möglichkeit, über Javascript jede Minute die aktuelle HTML-Seite neu zu laden (Refresh)?
Hi Wolfgang,
Gibt es eine Möglichkeit, über Javascript jede Minute die aktuelle HTML-Seite neu zu laden (Refresh)?
Ja, gibt es. Du definierst eine Funktion, die onLoad aufgerufen wird. Inhalt der Funktion: über window.setTimeout auf eine Minute verzögert ein location.replace (besser als location.href, da Du Dir damit sinnlos die History vollmüllen würdest) aufrufen. Beim Neuladen springt die Funktion wieder an, und alles von vorn, usw. usw.
Wichtig: Du musst dafür sorgen, dass die Seite _nicht_ im Browsercache landet, da sie sonst immer wieder von dort geladen widr (Änderungen wären dann nicht zu sehen). Das kannst Du über Meta-Tags regeln.
Hoffe, geholfen zu haben.
Grüße,
Utz
Super es funktioniert! Vielen Dank für die schnelle Hilfe!
Gibts es eigentlich auch die Möglichkeit, replace (bzw refresh) nur mit einem einzelnen Gif zu veranstalten - damit nicht die komplette Seite geladen werden muß?
Gibts es eigentlich auch die Möglichkeit, replace (bzw refresh) nur mit einem einzelnen Gif zu veranstalten - damit nicht die komplette Seite geladen werden muß?
Mit location.replace nicht, aber auf andere Art und Weise schon. Du kennst bestimmt onMouseover-Bildwechsel-Skripte (wie z.B. in SelfHTML beschrieben). Die lassen sich für diese Zwecke abwandeln. Du musst nur sich gegenseitige aufrufende Funktionen machen, die über window.setTimeout verzögert werden. Hier mal das Prinzip schnell hingerotzt:
<body onLoad="delay(bild1)"> - ruft eine Verzögerungs-Funktion auf, der ein Bildparameter übergeben wird. Die könnte so aussehen:
function delay(bildname) {
window.setTimeout(irgendnezeit, bildwechsel(bildname));
}
Die empfängt den Bildnamen (bild1) und ruft über setTimeout verzögert die eigentliche Bildwechselfunktion auf, etwa so was:
function bildwechsel(bildname) {
document.bildsowieso.src = bildname.src;
delay(bild2);
}
Die führt den Bildwechsel durch und ruft mit einem neuen Bildnamen wieder delay() auf, usw. Das Problem ist: Du musst unterscheiden, welcher bei bildwechel eintreffende bildname delay() mit welchem neuen bildnamen aufrufen soll; das könntest Du z.B. über eine select...case-Abfrage regeln.
Ach ja: alles ungetestet und aus dem Kopf, also definitiv keine Garantie für richtige JS-Syntax - lieber noch mal nachschauen.
Grüße,
Utz