Работа на некотором фоне javascript для моего расширения chrome, и мой тест состоит в том, чтобы он делал что-то каждые x
секунд в соответствии с изменяющейся переменной. Я решил использовать setTimeout. Затем я запустил его .. и он просто рассылает мне предупреждения.Проблема с расширением Chrome
http://jsfiddle.net/Ultimate/TpsBv/2/ (НЕ используйте скрипку, если у вас есть что-то вроде хрома, где вы можете остановить оповещения)
$(document).ready(function() {
localStorage.seconds = 5; //Added for testing
wait();
});
function sayHi() {
alert(localStorage.seconds);
wait();
}
function wait() {
var time = localStorage.seconds * 1000
setTimeout(sayHi(), time);
}
Примечание: * Я сделал так, чтобы сделать * 1000, потому что они миллисекунды, и JQuery IS включен. *
Вы бежите 'sayHi' * немедленно * (это то, что' SayHi() 'делает) а затем передать * возвращаемое значение * sayHi' в 'setTimeout' (которое здесь не определено). Вы хотите передать функцию 'sayHi' * себя * на' setTimeout', а не результат функции: 'setTimeout (sayHi, time)' – apsillers
Вау, вы просто напомнили мне проверить консоль javascript. – PaulBGD
Спасибо, и я исправил его, прежде чем вы его отредактировали: p – PaulBGD