服务人员安装事件未触发

时间:2019-12-18 15:55:59

标签: caching service-worker

Google's page得到启发,我将其粘贴到了我的网站中:

var CACHE_NAME = 'my-site-cache-v1';
var urlsToCache = [
  'serviceworker.css'
];

debugger // 1
self.addEventListener('install', function(event) {
   debugger // 2
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(function(cache) {
        console.log('Opened cache');
        return cache.addAll(urlsToCache);
      })
  );
});

调试器1停止程序流,但从未到达调试器2。

ServiceWorker.css存在。

我正在使用开发者工具栏打开的隐身窗口浏览到该页面。

1 个答案:

答案 0 :(得分:1)

以上代码段中的代码必须通过寄存器加载。您需要使用https进行开发才能看到此工作

if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
    navigator.serviceWorker.register('./codeWithYourJsAbove.js').then((function(registration) {
        console.log('ServiceWorker registration successful with scope: ', registration.scope);
    }), function(err) {
        console.log('ServiceWorker registration failed: ', err);
    });
});

}