Durch die letzten beiden Befehle wird die Funktion automatisch alle 1 Sekunden aufgerufen, auch wenn keine Daten gesendet werden.
Wie könnte ich die JavaScript Funktion nur aktivieren wenn Daten gesendet werden ?
Die Daten werden alle 1 Sekunden gesendet (ausgelöst durch einen "Button START").
danke für die schnelle Antwort, aber:
Mit "onclick="renew();" kann ich die Funktion starten und die Daten empfangen, aber wie kann ich dann die Funktion stoppen wenn keine Daten (Zeit abgelaufen) mehr gesendet werden ?
Was verstehst Du darunter? Wer sendet denn welche Daten und dann nicht mehr?
In dem JS werden keine Daten gesendet, also kann es wohl nur der ESP sein.
Wie soll aber das JS im Browser wissen, ob der Daten hat oder nicht?
Das musst Du ihm schon mitteilen.
Der Browser kann immer nur abfragen und Dir sagen, ob Daten da sind (welche) oder nicht.
danke Fips für Deinen Programm-Code.
So ähnlich hatte ich das auch schon versucht (mit einer Variablen "start_stopp".
Die Variable "start_stopp" wird bei mir in der Funktion Eingabe Zeit (ausgelöst durch den Button "START" auf "1" gesetzt und sollte in der Funktion renew auf "0" gesetzte werden.
Damit wollte ich den Intervall für die Funktion renew steuern.
Aber der Code:
if (text =="0") {
start_stopp = 0;
}
bzw.
if (text =="0") {
window.clearInterval(intervalId);
}
funktioniert nicht : text == "0" wird nicht erkannt, obwohl folgendes gesendet wird:
9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, usw. solange die Funktion renew aktiv ist.
jbaben:
if (text =="0") {
window.clearInterval(intervalId);
}
funktioniert nicht : text == "0" wird nicht erkannt, obwohl folgendes gesendet wird:
9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, usw. solange die Funktion renew aktiv ist.
Lass dir anzeigen was empfangen wird.
Browser -> F12
console.log(text);
if (text =="0") {
window.clearInterval(intervalId);
}
Hallo,
das hatte ich auch schon gemacht.
Angezeigt wird: "0".
Ich verstehe das nicht, kann ich mir nicht erklären.
Kann es sein das wirklich "0" gesendet wird, wie müsste dann die Abfrage lauten ?