我想编写一个扩展程序,每天在指定时间显示桌面通知。快速浏览一下 Chrome API,似乎唯一的方法是:
- 为我的扩展创建一个背景页面,
- 使用分辨率足够低的 setInterval() 不会对 CPU 造成负担(即使 5 分钟也可以),
- 当间隔触发时,检查当前时间是否在所需时间之后,
- 确保今天尚未向用户显示通知。
(最后一步的细节与我的问题无关,只是为了表明我意识到我需要防止通知“颤动”)。
不过,这似乎相当间接且可能很昂贵;有没有办法解决?需要背景页面吗?
我想我可以只调用 setTimeout() 并且只触发一次事件(通过计算现在和所需时间之间的时间),然后在显示通知后再次调用它。出于某种原因,这听起来更“脆弱”,虽然我不知道为什么......