我希望我的Web应用程序偶尔在用户的桌面上显示通知。 GMail和Facebook使用这种相同的技术。HTML5服务人员:生命周期,持久性和代码加载
使用HTML5通知API获取用户的权限并随后显示通知的文档非常详尽且直接。但在我的情况下,如果即使他没有浏览我的网站,我也想向用户展示这些通知。我的研究将我指向Service Worker API。我已经运行了一些服务工作者教程,虽然我理解了大部分内容,但我仍然留有以下问题:
(1)我了解下载=>安装=>激活循环,但无法获取确切知道以前安装的Service Worker线程何时启动或关闭。我发现的唯一相关报价表示线程“可以随时启动和关闭”。尽管这是一篇旧文章。我们现在了解更多吗?具体来说:当用户启动他的电脑时线程是否启动?或者当用户在启动后第一次打开浏览器时就开始了?等等...同样,什么时候线程关机?可以想象,它可以在几分钟内关机吗?小时?天?
(2)如何坚持一个值?没有详细说明,在显示通知后,我需要在用户计算机上保留一个32位值。这就是我所要求的“国家”信息的范围。但出于未知原因,文章指出localStorage不能通过Service Worker上下文获得。那么我应该如何存储这个值?
(3)我的服务工作者代码将依赖于我创建的另一个对象,它位于'utils.js'中。我如何将它加载到内存中,以便我的服务人员可以看到它?通过我的网络应用程序,我可以在HTML中使用<script>
标记。但在这种情况下,没有HTML - 只有JavaScript。那么,我该如何告诉服务工作者将此代码加载到内存中?
(4)如何调试我的服务工作者?使用标准的网络应用程序,我可以在Chrome中打开Alt-Cmd-I以打开调试面板。但在这种情况下,我没有调试特定的站点 - 我正在调试一个Service Worker线程。
感谢,
费斯图斯
服务工作者API是否被设计用来保留浏览器会话?我只是好奇你是否浏览过域名以外的其他站点,你的服务人员会如何回复邮件? –