Hi,
mit einem HTML-Reload ist das nicht möglich, da er auf jeden Fall ausgeführt wird... Hier muss schon Javascript ran! Kannst eine Checkbox in der HTML-Datei unterbringen, mit der man die Reloads an und abstellen kann...
Hier mal ein Beispiel, wie ich mir das denke: Du hast eine HTML-Seite mit einem darin enthaltenen Frame das immer wieder aktualisiert werden soll. Das Frame kann ja mit setInterval zyklisch reloadet werden. Mit folgender Funktion sollte das gehen:
- Code: Alles auswählen
.....
ival = -1;
function toggle ()
{
if (ival < 0)
ival = setInterval ('frames[0].location.reload()', 400);
else
{
clearInterval (ival);
ival = -1;
}
}
.....
Bis dahin ist das kein Problem. Jetzt soll den Besuchern mit einer Checkbox ermöglicht werden den Reload abzuschalten und bis zum erneuten Einschalten auch nicht mehr durchzuführen. Dann baut man einfach eine Checkbox ein, mit der das reloaden an und abgeschaltet wird. Sieht im HTML-Code ungefähr so aus:
- Code: Alles auswählen
<input type="checkbox" onclick="toggle()">
Klickt der Besucher auf die Checkbox, so wird der
Intervall entweder gestartet oder beendet (je nachdem, wie der Status vorher war). Der Status der Checkbox und die Frage, ob der Reload beim ersten Aufruf an oder aus ist muss natürlich miteinander abgestimmt sein.
Die Intervalllänge kann mit einem normalen Eingabefeld und auch über
Events gesteuert verändert werden. Hier gibt es z.B.
onchange, das bei Änderungen auftritt oder onblur (tritt auf, wenn ein Element den Focus verliert). Die Länge des Intervalls kannst Du in einer
Variable ablegen und den Aufruf von setInterval, statt mit dem fixen von oben, mit dem eingegebenen Wert absetzen.