javascript — таймер обратного отсчета должен продолжаться для двух страниц php

это код для таймера обратного отсчета

<script language="JavaScript">
<!--
var hoursleft = 0;
var minutesleft = 10;           // you can change these values to any value greater than 0
var secondsleft = 0;
var millisecondsleft = 0;
var finishedtext = "Countdown finished!" // text that appears when the countdown reaches 0
end = new Date();

end.setMinutes(end.getMinutes()+minutesleft);
end.setSeconds(end.getSeconds()+secondsleft);
end.setMilliseconds(end.getMilliseconds()+millisecondsleft);
function cd(){
now = new Date();
diff = end - now;
diff = new Date(diff);
var msec = diff.getMilliseconds();
var sec = diff.getSeconds();
var min = diff.getMinutes();

if (min < 10){
min = "0" + min;
}
if (sec < 10){
sec = "0" + sec;
}
if(msec < 10){
msec = "00" +msec;
}
else if(msec < 100){
msec = "0" +msec;
}
if(now >= end){
clearTimeout(timerID);
document.getElementById("cdtime").innerHTML = finishedtext;
}
else{
document.getElementById("cdtime").innerHTML = min + ":" + sec + ":" + msec;
}       // you can leave out the + ":" + msec if you want...
// If you do so, you should also change setTimeout to setTimeout("cd()",1000)
timerID = setTimeout("cd()", 10);
}
window.onload = cd;
//-->
</script>

Я хочу, чтобы этот таймер продолжался для двух страниц php без перезагрузки снова. Когда отображается каждый вопрос, таймер не должен перезапускаться снова.
На странице test1.php есть все вопросы с несколькими вариантами ответов, а на странице test2.php есть все заполненные пустые вопросы для ответа. В моем приложении сначала запустится test1.php (т.е. MCQ), а после всех MCQ будет запущен test2.php. Как я могу использовать один и тот же таймер для обеих страниц.

0

Решение

Я застрял с подобной проблемой прямо сейчас в PHP и разработал решение. Я не уверен, поможет ли следующее, но попробуйте, если это работает для вас.

Сохранить время начала как переменную сеанса
Перед отображением каждого вопроса выполните функцию if, чтобы обновить разницу как разницу между «end» и «Session [« time »]».

if(Session["time"]) {
if(Session["time"]) < end {
diff = end - Session["time"];
} else {
//perform answer submission (may be).
}
} else {
var d = new Date();
Session["time"] = d.getTime();
}
0

Другие решения

Других решений пока нет …