Google Chrome扩展程序中的setInterval无效(仅触发一次)

时间:2012-01-23 12:50:21

标签: javascript google-chrome asynchronous google-chrome-extension setinterval

正如标题所说:setInterval只会触发一次回调。

manifest.json:

{
    //...
    "content_scripts" : [{
        "js" : ["code.js"],
        //...
    }],
    //...
}

code.js(example):

setInterval(alert('only shown once'),2000);

为什么,以及我如何解决它?代码在扩展名之外(甚至在小书签中)也很有用。

3 个答案:

答案 0 :(得分:33)

setInterval(function() { alert('only shown once') },2000);

您需要传递alert之类的函数引用而不是返回值alert()

答案 1 :(得分:6)

setInterval根本不起作用。

第一个参数应该是函数,你传递的是alert()的返回值,它不是函数。

使用三个参数版本:

setInterval(function,time,array_of_arguments_to_call_function_with);
setInterval(alert,2000,['only shown once']);

答案 2 :(得分:1)

你写它的方式是错的:

setInterval()想要一个函数和一个数值:setInterval(function(){//your code}, timeInterval)

相关问题