0

Работа на некотором фоне 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 включен. *

+1

Вы бежите 'sayHi' * немедленно * (это то, что' SayHi() 'делает) а затем передать * возвращаемое значение * sayHi' в 'setTimeout' (которое здесь не определено). Вы хотите передать функцию 'sayHi' * себя * на' setTimeout', а не результат функции: 'setTimeout (sayHi, time)' – apsillers

+0

Вау, вы просто напомнили мне проверить консоль javascript. – PaulBGD

+0

Спасибо, и я исправил его, прежде чем вы его отредактировали: p – PaulBGD

ответ