• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема с Settimeout

  • Автор темы Flying
  • Дата начала
F

Flying

window.setTimeout(code, delay)

Arguments

code
<blah-blah>


delay

The amount of time, in milliseconds, before the code should be executed.


Возникла необходимость выполнять на странице определенный код каждые пару секунд (чекать через ajax не обновился ли контент в БД, если обновился - получать его и юзать на странице). Пробую делать это с setTimeout, указываю 2500 мс = 2.5 с, а скрипт выполняется скорее 2500 раз в секунду. Вырезал нафик весь лишний код, оставил один сеттаймаут - та же проблема... setInterval ведет себя также, ЧТО ДЕЛАТЬ ?


Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">	
var counter = 0;

var callback = function () {
$("#counter").html(counter++);

window.setTimeout(callback(), 2500, "JavaScript");
}

$(document).ready(
function () {
window.setTimeout(callback(), 2500, "JavaScript");
}
);
</script>
</head>
<body>

<h1 id="counter">:(</h1>

</body>
</html>

ЗЫ: тут с jQuery, но его чуть-чуть и без него то же самое...
 
F

Flying

проверял в нормальных браузерах, в ослах

не в этом дело, там проблема была в том, что для сет_таймаут надо передавать не саму функцию, а ее название т.е. строку в кавычках...
 
V

Vovochka

Давно уже не передавал функцию в виде ее названия, все время пихал код :rolleyes:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!