Обновление:
У этого вопроса есть 2 аспекта.
- Отслеживает ли браузер идентификаторы таймера?
- Доступны ли они
Я могу только предположить для № 1 (и позже № 2), что ОП означает «они отслеживаются» в общем смысле, потому что, как разработчик, он / она хотел бы контролировать их.
Короче говоря, да, они отслеживаются (как отметил @s_hewitt как значения long
в браузере), и ими может управлять разработчик, поддерживая ссылку на таймеры при настройке.
Как разработчик, вы можете контролировать (например, останавливать) их, вызывая ( clearInterval (handleRef) или clearTimeout (handleRef) )
Однако по умолчанию нет window.timers
или подобной коллекции, которая дает вам список существующих таймеров - вам нужно будет сохранить это самостоятельно, если вы чувствуете, что это необходимо.
function startPolling(delay){
pollHandle = setInterval(doThis, delay);
}
function stopPolling(){
clearInterval(pollHandle);
}
function doThisIn30minUnlessStopped(){
timerHandle = setTimeout(doThisThing, 1800000);
}
function stop30minTimer(){
clearTimeout(timerHandle);
}
Вам просто нужно создать ссылку на переменную вашего таймера и, если необходимо, очистить ее по имени.
Когда вы загружаете другую страницу, все таймеры автоматически очищаются браузером, поэтому вам не нужно сохранять дескриптор и очищать их, если вам не нужно / не нужно.