Итак, я создаю сайт, используя Ruby на рельсах, и у меня есть таймер на странице.
Таймер идет от 5 до 0, а затем начинается игра. Однако, если вы вернетесь на предыдущую страницу до того, как таймер закончится, а затем снова запустите таймер, оба таймера будут существовать, и таймер уменьшится вдвое быстрее.
Так что мне нужно уничтожить мой таймер при возвращении на предыдущую страницу, но использование события unload не работает, потому что страница не выгружается при возврате на предыдущую страницу. Есть ли событие «возврат» или что-то подобное, что я мог бы использовать?
Вот мой таймер:
var timeleft = 6;
var gameTimer = setInterval(function(){
timeleft--;
afficherChaine("Le jeu va commencer dans " + timeleft + " secondes !"); //afficherChaine just prints something for the user
if(timeleft <= 0){
clearInterval(gameTimer);
jouer();
}
},1000);
Я пробовал это, но это не работает:
window.onpopstate = function(event){
clearInterval(gameTimer);
}
РЕДАКТИРОВАТЬ: Я пытался сделать gameTimerID = null;
на всякий случай, но это ничего не меняет. Похоже, таймер просто не исчезнет. Я делаю это неправильно?