Как я могу держать постоянную таймер обратного отсчета, после обновление страницы в JavaScript
Я разрабатываю онлайн-экзаменационную систему, и когда я иду на следующий вопрос, моя страница перезагружается, и мой таймер запускается снова. Мне нужна постоянная таймера и автоматическое перенаправление на страницу результатов после таймаута. Пожалуйста, мне понадобится кто-то, чтобы помочь с примером кода. Благодарный вам.
Что я уже пробовал:
<span id="countdown" class="timer"></span>
var seconds = 40; function secondPassed() { var minutes = Math.round((seconds - 30)/60); var remainingSeconds = seconds % 60; if (remainingSeconds < 10) { remainingSeconds = "0" + remainingSeconds; } document.getElementById('countdown').innerHTML = minutes + ":" + remainingSeconds; if (seconds == 0) { clearInterval(countdownTimer); document.getElementById('countdown').innerHTML = "Buzz Buzz"; } else { seconds--; } } var countdownTimer = setInterval('secondPassed()', 1000);
F-ES Sitecore
Вам нужно будет сохранить значение обратного отсчета, чтобы оно сохранилось при переходе на другую страницу. Вы можете использовать файл cookie или хранилище сеансов
https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
Когда страница загружается, считайте значение обратного отсчета из хранилища сеансов, а если оно не существует, начните с самого начала, в противном случае начните со значения в хранилище сеансов. Вам также нужно будет сохранить это значение в хранилище сеансов по мере его изменения.
Чтобы предупредить ваш следующий вопрос, нет, я не буду писать код для вас. Если вы загуглите "javascript timer session storage", то, вероятно, обнаружите, что кто-то уже сделал это.
Richard Deeming
NB: Управление таймером экзамена в клиентском коде не является безопасным вариантом. Пользователь, принимающий экзамен, может легко подделать ваш таймер, чтобы дать себе дополнительное время.