タイトルにあるように、setInterval
はコールバックを1回だけ起動します。
マニフェスト.json:
{
//...
"content_scripts" : [{
"js" : ["code.js"],
//...
}],
//...
}
code.js(例):
setInterval(alert('only shown once'),2000);
なぜ、そしてどうすればそれを修正できますか?コードは拡張機能の外で(ブックマークレット内でも)うまく機能します。
_setInterval(function() { alert('only shown once') },2000);
_
戻り値alert()
ではなくalert
のような関数参照を渡す必要があります
setInterval
がまったく機能していません。
最初の引数はfunctionである必要があり、関数ではないalert()
の戻り値を渡します。
3つの引数バージョンを使用します。
setInterval(function,time,array_of_arguments_to_call_function_with);
setInterval(alert,2000,['only shown once']);
あなたがそれを書いた方法は間違っています:
setInterval()
には、関数と数値が必要です:setInterval(function(){//your code}, timeInterval)
。