关于警报持久性,官方文档有如下说明:
警报通常会持续存在,直到扩展程序更新为止。但是,这并不能保证,浏览器重新启动时警报可能会被清除。因此,请考虑在创建警报时在存储中设置一个值,然后确保每次服务工作线程启动时该值都存在。
我发现缺少一种确保工作器在警报清除后真正启动的方法。是否有建议工作器应注册的事件(除警报事件外)以确保其启动以重新创建警报?
关于警报持久性,官方文档有如下说明:
警报通常会持续存在,直到扩展程序更新为止。但是,这并不能保证,浏览器重新启动时警报可能会被清除。因此,请考虑在创建警报时在存储中设置一个值,然后确保每次服务工作线程启动时该值都存在。
我发现缺少一种确保工作器在警报清除后真正启动的方法。是否有建议工作器应注册的事件(除警报事件外)以确保其启动以重新创建警报?
通常情况下,onInstalled 和 onStartup(当浏览器在启动时加载您的用户配置文件时)事件足以检查警报,如果没有警报则重新创建它。
文档建议每次服务工作者唤醒时都执行此操作,无论原因是什么,即只需调用
initAlarms()
而不是使用chrome
事件,这在这种情况下并不是一个坏主意,因为检查很简单。