Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每两小时触发一次javascript函数_Javascript_Jquery_Google Chrome Extension - Fatal编程技术网

每两小时触发一次javascript函数

每两小时触发一次javascript函数,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正在做一个chrome扩展。我需要每两小时触发一个javascript函数。这是有可能做到的 .setInterval(function(){ ... },time); 但是我读过关于setInterval(,)的文章,一些开发人员认为“使用setInterval不利于浏览器优化”。另一方面,我只需要一个触发器。我的意思是,我不会经常使用它。您是否建议我继续使用setInterval,或者是否有其他方法来创建基于时间的事件,而不会让浏览器哭泣 既然您询问的是Chrome扩展,您可以使用C

我正在做一个chrome扩展。我需要每两小时触发一个javascript函数。这是有可能做到的

.setInterval(function(){

...

},time);

但是我读过关于setInterval(,)的文章,一些开发人员认为“使用setInterval不利于浏览器优化”。另一方面,我只需要一个触发器。我的意思是,我不会经常使用它。您是否建议我继续使用setInterval,或者是否有其他方法来创建基于时间的事件,而不会让浏览器哭泣

既然您询问的是Chrome扩展,您可以使用
Chrome.alarms
API来完成。请注意,您需要
“报警”
权限

chrome.alarms.create("my2hoursAlarm", {periodInMinutes: 120});

chrome.alarms.onAlarm.addListener(function(alarm) {
  switch(alarm.name) {
    case "my2hoursAlarm":
      // Do stuff
      break;
  }
});
使用Chrome报警器的好处是,它们可以很好地与其他设备配合使用。如果您的扩展没有做很多工作,并且可以在这些事件之间完全卸载,
chrome.alarms
将唤醒您的扩展,而
setInterval
将被卸载清除


Chrome报警器的唯一缺点是,它的发射速度不能超过每分钟一次。在这种情况下,您无论如何都要使用
setInterval
,而不要使用事件页面。

因为您询问的是Chrome扩展,所以可以使用
Chrome.alarms
API来完成。请注意,您需要
“报警”
权限

chrome.alarms.create("my2hoursAlarm", {periodInMinutes: 120});

chrome.alarms.onAlarm.addListener(function(alarm) {
  switch(alarm.name) {
    case "my2hoursAlarm":
      // Do stuff
      break;
  }
});
使用Chrome报警器的好处是,它们可以很好地与其他设备配合使用。如果您的扩展没有做很多工作,并且可以在这些事件之间完全卸载,
chrome.alarms
将唤醒您的扩展,而
setInterval
将被卸载清除


Chrome报警器的唯一缺点是,它的发射速度不能超过每分钟一次。在这种情况下,您无论如何都要使用
setInterval
,而不要使用事件页。

证明setTimeout不利于浏览器优化。我想那是错的。对不起,我的错。我写错了。我的意思是说“使用setInterval不好”。是的,在这种情况下不是一个好主意。您仍然可以使用全局命令来判断是否正在执行回调并跳过那些间隔实例。如何证明setTimeout对浏览器的优化不好。我认为这是错误的。对不起,我的错。我写错了。我的意思是说“使用setInterval不好”。是的,那不是个好主意。您仍然可以使用全局变量来判断是否正在执行回调,并跳过这些间隔实例