Я решил это, используя localstorage, сохранив там идентификатор setInterval и подняв его позже, чтобы очистить этот интервал.
, что кто-то (зло) поставил нам таймер сsetInterval
, но мы не знаем его ID (у нас нет ни ссылки на объект, который возвращает setInterval, ни его значения)
(function(){
setInterval(function(){console.log('pwned')},
10000)
})();
Есть ли способ, как это очистить? Можно ли получить доступ к таймеру другим способом? Или, по крайней мере, в частности, браузер / движок JavaScript?
Дэвид Фланаган затрагивает аналогичную тему своей большой JSTDG.setInterval() method, use in malicious code
введите индекс указывает на
... Некоторые браузеры обнаруживают повторяющиеся диалоговые окна и длительные сценарии и дают пользователю возможность их остановить. Но вредоносный код может использовать такие методы, как setInterval (), для загрузки ЦП, а также может атаковать вашу систему, выделяя много памяти. Нет общего способа, которым веб-браузеры могли бы предотвратить подобные атаки. На практике это не распространенная проблема в Интернете, поскольку никто не возвращается на сайт, который занимается подобным злоупотреблением сценариями!