задержка закрытия окна JavaScript - PullRequest
2 голосов
/ 22 июля 2011

Я пишу расширение Google Chrome.Спасибо всем за то, что терпели мои глупые вопросы.Процедура примитивна, но работает нормально.Единственная проблема в том, что он работает так быстро, что перегружает сервер, и мой IP-адрес блокируется.Так что ему нужен газ.

Вопрос в том, лучше ли что-то построить с помощью таймера или с помощью setInterval.После изучения конкретной страницы скрипт содержимого закрывает свое окно функцией self.close ().Если бы я поместил это в setInterval, я мог бы задержать закрытие страницы, и это замедлило бы весь процесс так же, как и длину интервала.Похоже на хороший газ.

Теперь последняя строка скрипта контента выглядит просто:

self.close();

Я предполагаю, что если я изменю код следующим образом, я получу задержку:

var t=setTimeout("self.close()",2000);

Будет ли это работать?Есть ли лучший способ сделать это?

Ответы [ 2 ]

5 голосов
/ 22 июля 2011

Я бы лучше использовал:

setTimeout(function(){
    self.close();
},2000);

Но твой путь тоже действителен ...

0 голосов
/ 22 июля 2011

Если закрытие страницы является подходящим моментом для ожидания, то это совершенно нормально. В этом случае, поскольку это может показаться подходящим местом, тогда я думаю, что вы в порядке. Хотя я бы воспользовался предложением Кристофа.

Использование setinterval для их периодического запуска может привести к проблемам, если ваша обработка занимает больше времени, чем интервал - поскольку это может включать в себя открытие и закрытие страниц.

Как правило, setInterval хорош для регулярного выполнения небольших процессов. В этом случае вы просто хотите подождать с обработкой, которая подсказывает мне, что setTimeout лучше.

...