Derzeit ist es möglich, einen js-Countdown zu implementieren. Sobald die Seite jedoch aktualisiert wird, wird der Countdown entweder direkt gestoppt oder erneut gestartet.
Was ist also das Problem?
Wie kann ich js so steuern, dass der Countdown auch dann weiterläuft, wenn die Seite aktualisiert wird?
An alle, die vorbeikommen, bitte gib mir einen Gefallen. Danke!
Derzeit ist es möglich, einen js-Countdown zu implementieren. Sobald die Seite jedoch aktualisiert wird, wird der Countdown entweder direkt gestoppt oder erneut gestartet.
Was ist also das Problem?
Wie kann ich js so steuern, dass der Countdown auch dann weiterläuft, wenn die Seite aktualisiert wird?
An alle, die vorbeikommen, bitte gib mir einen Gefallen. Danke!
Erhalten Sie die Ortszeit beim Starten des Countdowns, speichern Sie sie in Cookie oder Localstorage, lesen Sie die Startzeit nach dem Aktualisieren ab und subtrahieren Sie die aktuelle Zeit
Erfahren Sie mehr über Servicemitarbeiter
Bei jeder Aktualisierung handelt es sich um eine neue Funktionsausführungsumgebung, und der Status vor der Aktualisierung kann nicht bekannt sein. Die Startzeit Ihres Timers kann nur aus dem Hintergrund ermittelt oder auf Basis der aktuellen Uhrzeit berechnet werden.
Verwenden Sie Cookies oder lokalen Speicher.
Einzelheiten finden Sie in einer Antwort, die ich geschrieben habe
http://stackoverflow.com/a/38...
<code>1 php: 定义停止$end_time 2 html : <input type="hidden" name="end_time" id="end_time" value="$end_time"> 3 js:$("#end_time").val() </code>
Sie sollten die Bedeutung verstehen
Wenn der Countdown beginnt, speichern Sie die Endzeit im Localstorage, aktualisieren Sie die Seite, um den Wert von Localstorage abzulesen, und berechnen Sie dann die Countdown-Zeit
Einige Leute haben kürzlich nach Countdowns gefragt. Sie können es sich ansehen.
Finden Sie einen Countdown-Code für jeden Dienstag
Verwenden Sie js
nicht, um die Client-Zeit für die Startzeit Ihres Countdowns abzurufen. Verwenden Sie php
, um die Serverzeit zu ermitteln. js
Es ist in Ordnung, einen Countdown für den lokalen Speicher zu schreiben
Um eine Countdown-Funktion zu implementieren, müssen Sie zunächst eine feste Endzeit haben:
Übergeben Sie die Endzeit an eine Countdown-Methode, subtrahieren Sie die aktuelle Zeit von der Endzeit, um die verbleibende Zeit zu erhalten, und führen Sie sie einmal pro Sekunde aus. Die aktuelle Zeit erhöht sich und die verbleibende Zeit verringert sich entsprechend.
Woher kommt also die feste Endzeit? 1. Die im Code fest codierte Zeit. 2. Die vom Backend zurückgegebene Zeit. 3. Lokaler Speicher. Solange Sie eine feste Endzeit erhalten, beginnt der Countdown nicht von vorne. Unterbrechungen treten nur auf, wenn der Countdown endet oder der Code einen Fehler meldet. Ich habe eine Seitenlinkbeschreibung geschrieben, in der mehrere Countdowns gleichzeitig existieren
Wenn Sie das Frontend steuern müssen, können Sie nur Browserspeicher wie Cookies/Webspeicher verwenden. Auf diese Weise können Ihre Anforderungen im selben Browser erfüllt werden, ohne dass der Cache leer bleibt Auch wenn Sie den Browser wechseln, kann nur das Backend die Uhrzeit zurückgeben
[SMS-Bestätigung senden, Countdown der Zurück-Taste, um einen Countdown-Fehler bei der Aktualisierung zu verhindern]
Anwendungsszenario: Bei der Entwicklung der Funktion „SMS-Bestätigung senden“ muss ein Problem gelöst werden, um zu verhindern, dass böswillige oder häufige SMS-Bestätigungscodes gesendet werden . Das allgemeine Prinzip lautet: „Wenn auf die Schaltfläche „Senden“ geklickt wird, wird eine Ajax-Anfrage an den Server gesendet, um den SMS-Bestätigungscode zu senden. Bei Erfolg wird die Schaltfläche „Senden“ auf „Nicht anklickbar“ gesetzt und der Anruf eingestellt. Ursprünglicher Link: https: //segmentfault.com/a/11.. .