Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Chrome扩展:在Javascript中检测新的一天(改变的一天)?_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Chrome扩展:在Javascript中检测新的一天(改变的一天)?

Chrome扩展:在Javascript中检测新的一天(改变的一天)?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我知道在新的一天(或小时/分钟)没有事件监听器。但是在我的Chrome扩展中,我需要知道新的一天是什么时候开始的,这意味着我必须使用setInterval函数来找出这一天是什么时候改变的。但是,我不确定使用什么作为间隔值:10秒还是10分钟?我担心会耗尽CPU和内存(常量setInterval调用),但我仍然想知道新的一天几乎一开始。关于什么是处理这个问题的理想方法,你有什么想法吗?根据你想要的精确程度,唯一的方法是设置一个间隔。您可以将精度设置为您想要的任何值。1分钟5分钟10分钟如果您指的是

我知道在新的一天(或小时/分钟)没有事件监听器。但是在我的Chrome扩展中,我需要知道新的一天是什么时候开始的,这意味着我必须使用setInterval函数来找出这一天是什么时候改变的。但是,我不确定使用什么作为间隔值:10秒还是10分钟?我担心会耗尽CPU和内存(常量setInterval调用),但我仍然想知道新的一天几乎一开始。关于什么是处理这个问题的理想方法,你有什么想法吗?

根据你想要的精确程度,唯一的方法是设置一个间隔。您可以将精度设置为您想要的任何值。1分钟5分钟10分钟

如果您指的是用户的新一天,则可以在加载页面时设置一个超时

function setnewdaytimer(){
    if(window.newdaytimer) clearTimeout(newdaytimer);
    var now= new Date,
    tomorrow= new Date(now.getFullYear(), now.getMonth(), now.getDate()+1); 
    window.newdaytimer= setTimeout(newdayalarm, tomorrow-now);
}
function newdayalarm(){
    alert((new Date()).toLocaleTimeString());
}

window.onload=setnewdaytimer;

我猜在90%的时间里,新的一天会在第一次脚本运行时被检测到,因为没有多少人会在午夜打开浏览器,所以间隔并不是那么重要。实际上,我刚刚有了一个想法-在第一次脚本运行时,我会计算(基于当前UTC时间)距离新的一天开始还有多少毫秒?每个脚本运行/新的一天都要做同样的事情。出于我的目的,并且由于我的程序将被不同时区的许多人使用,我认为使用设置间隔是一个好主意。