毎日指定された時間にデスクトップ通知を表示する拡張機能を書きたいと思います。Chrome API をざっと見てみると、これを行う唯一の方法は次のように思われます。
- 拡張機能の背景ページを作成し、
- CPU に負担をかけないように十分に低い解像度で setInterval() を使用します (5 分でも問題ありません)。
- 間隔が発生したときに、現在の時間が目的の時間よりも後かどうかを確認し、
- ユーザーが今日、まだ通知を表示されていないことを確認してください。
(最後のステップの詳細は私の質問とは関係ありません。通知の「バタつき」を防ぐ必要があることに気付いたことを示すために入れただけです)。
ただし、これはかなり間接的で、コストがかかる可能性があるようです。これを回避する方法はありますか?背景ページは必要ですか?
setTimeout() を呼び出してイベントを 1 回だけ発生させ (現在と目的の時間の間の時間を計算することにより)、通知が表示された後に再度呼び出すことができると思います。理由はわかりませんが、何らかの理由でより「もろい」ように聞こえます...