是否应首先加载服务工作者脚本?

时间:2016-06-09 14:27:45

标签: service-worker

要初始化服务工作者,必须在thead <head>中包含以下内容:

<script>
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/my-sw.js');
}
</script>

我发现在某些示例页面中,这不是页面的第一个脚本(例如flipkart.com)。它不应该是第一个,因此可以尽快使用预缓存和其他功能吗?该脚本是否真正重要,并且它可能位于</head>之外的页面底部?

1 个答案:

答案 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 }}