要初始化服务工作者,必须在thead <head>
中包含以下内容:
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/my-sw.js');
}
</script>
我发现在某些示例页面中,这不是页面的第一个脚本(例如flipkart.com)。它不应该是第一个,因此可以尽快使用预缓存和其他功能吗?该脚本是否真正重要,并且它可能位于</head>
之外的页面底部?
答案 0 :(得分:1)
Registering a service worker will cause the browser to start the service worker install step in the background.
如果成功,service worker
将在ServiceWorkerGlobalScope中执行;这基本上是一种特殊的工作者上下文,运行主脚本执行线程,没有DOM访问。
特定于您的问题,服务工作者注册脚本的顺序无关紧要。在安装服务工作者并且用户导航到其他页面或刷新之后,服务工作者将开始接收{{1 }}