JavaScript注册一个service worker

示例

//检查service worker是否可用。
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js').then(function(registration) {
    console.log('SW registration succeeded with scope:', registration.scope);
  }).catch(function(e) {
    console.log('SW registration failed with error:', e);
  });
}
  • 可以在每个页面加载时调用 register ()。如果 SW 已经注册,那么浏览器将提供已经运行的实例

  • SW 文件可以是任何名称。 sw.js 是常用的

  • SW文件的位置很重要,因为它定义了SW的范围。例如,位于/js/ SW .js的SW文件只能拦截以/js/开头的文件的获取请求。出于这个原因,你通常会在项目的顶级目录中看到SW文件。