Search code examples
javascriptgoogle-chromeasynchronousgoogle-chrome-extensionsetinterval

setInterval not working (firing only once) in Google Chrome extension


Just as the title says: setInterval is only firing its callback once.

manifest.json:

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

code.js (example):

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

Why, and how I could fix it? The code works well outside of an extension (even in a bookmarklet).


Solution

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

    You need to pass a function reference like alert and not a return value alert()