Ответ 1
setInterval(function() { alert('only shown once') },2000);
Вам нужно передать ссылку на функцию, например alert
, а не возвращаемое значение alert()
Как гласит название: setInterval
только один раз запускает свой обратный вызов.
manifest.json:
{
//...
"content_scripts" : [{
"js" : ["code.js"],
//...
}],
//...
}
code.js(пример):
setInterval(alert('only shown once'),2000);
Почему и как я могу это исправить? Код хорошо работает вне расширения (даже в букмаркете).
setInterval(function() { alert('only shown once') },2000);
Вам нужно передать ссылку на функцию, например alert
, а не возвращаемое значение alert()
setInterval
вообще не работает.
Первым аргументом должна быть функция, вы передаете ей возвращаемое значение alert()
, которое не является функцией.
Используйте три версии аргументов:
setInterval(function,time,array_of_arguments_to_call_function_with);
setInterval(alert,2000,['only shown once']);
Как вы написали это неправильно:
setInterval()
требуется функция и числовое значение: setInterval(function(){//your code}, timeInterval)
.