SetTimeout () и ClearTimeout (), чтобы остановить зависание IE8 и переполнение скриптов в диалоговом окне - PullRequest
3 голосов
/ 02 мая 2010

У меня есть стороннее программное обеспечение, где я могу открыть nsites и запустить javascript. Поскольку некоторые сайты заставляют меня переполняться в стеке, я использовал хитрость с Реестром, чтобы изменить Стили WRAD на FFFFFF .

Тем не менее, некоторые сайты могут переполнять стек из-за DOM .

Я думал, что в начале работы каждого сайта я сделаю javascript: SetTimeout ( "window.status = 'один';", 10000);

тогда, с другой стороны, я хотел бы очистить его - мой вопрос: как, если у него нет действительного идентификатора? Будет ли обычный clearTimeout () без чего-либо внутри делать нормально ?

1 Ответ

0 голосов
/ 03 августа 2010

Я не думаю, что window.clearTimeout () сработает.

Однако ID ресурса - это просто целое число. В Opera это 1, в FireFox 2, в IE какое-то большое количество. Проверьте с помощью этого сценария:

<script type="text/javascript">
var test = window.setTimeout(alert, 10000);
alert(test);
</script>

Так что если нет возможности установить глобальную переменную для тайм-аута - вы можете просто очистить интервалы для каждого целого числа от 1 до 5.000.000 или около того. Это, конечно, не красиво.

Если эта проблема все еще актуальна для вас: не могли бы вы рассказать немного больше о причинах вашей проблемы?

...