• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Проблема с 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, но его чуть-чуть и без него то же самое...
 
проверял в нормальных браузерах, в ослах

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab