我知道新的一天(或小时/分钟,就此而言)没有事件监听器。但在我的 Chrome 扩展程序中,我需要知道新的一天何时开始,这意味着我必须使用 setInterval 函数来确定一天何时发生变化。但是,我不确定间隔值使用什么:10 秒,还是 10 分钟?我担心用完 CPU 和内存(常量 setInterval 调用),但我仍然想在新的一天开始后立即知道。关于处理此问题的理想方法是什么有什么想法吗?
最佳答案
如果您对用户意味着新的一天,您可以在页面加载时设置一个超时。
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;
关于javascript - Chrome 扩展 : Detecting new day (day changed) in Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294066/