我从服务人员开始(有点晚了,但总比没有好),我把我的 <script>if ('serviceWorker' in navigator) {..}</script>
最底部的代码片段,位于我的另一个代码片段 ( System.import(...)
) 下方。
那是个好地方吗?我还应该将标准脚本片段放在页面上的哪里:头部或正文的开头?或者将其放在外部另一个脚本中?
更重要的是——为什么?
最佳答案
这可能会产生影响,也可能不会产生影响,具体取决于您的 Service Worker 的重量级以及初次访问期间需要在页面上执行多少 JavaScript。但你可以阅读this article关于 Service Worker 注册最佳实践,以更深入地了解何时它可能很重要。
本文的要点是,合理的模式是使用
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/service-worker.js');
});
}
注册您的 Service Worker。只要它在 load
事件触发之前运行,它就几乎可以出现在页面上的任何位置。
关于javascript - ServiceWorker 片段应该放在哪里 - 头部还是主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41615131/