服务工作者获取事件未触发
Service worker fetch event is not firing
我有一个网站,我在根目录下安装了一个 service worker,甚至将范围设置为“/”,如此处所述:
但是,获取事件没有触发。感谢任何帮助。
importScripts('/site/themes/libs/cache-polyfill.js');
self.addEventListener('install', function (e) {
e.waitUntil(
caches.open('v1').then(function (cache) {
return cache.addAll([
'/',
'/test-page',
'/site/themes/css/main.css',
'/site/themes/js/vendors.min.js',
'/site/themes/js/app.min.js'
]);
})
);
self.skipWaiting()
});
self.addEventListener('fetch', function (event) {
console.log(event.request.url);
event.respondWith(
caches.match(event.request).then(function (response) {
return response || fetch(event.request);
})
);
});
编辑:
我正在为网站使用 statamic。
首先验证service worker的注册事件是否成功。如果是,请尝试添加激活事件侦听器。
self.addEventListener('activate', function(event) {
console.log('Claiming control');
return self.clients.claim();
});
我有一个网站,我在根目录下安装了一个 service worker,甚至将范围设置为“/”,如此处所述:
但是,获取事件没有触发。感谢任何帮助。
importScripts('/site/themes/libs/cache-polyfill.js');
self.addEventListener('install', function (e) {
e.waitUntil(
caches.open('v1').then(function (cache) {
return cache.addAll([
'/',
'/test-page',
'/site/themes/css/main.css',
'/site/themes/js/vendors.min.js',
'/site/themes/js/app.min.js'
]);
})
);
self.skipWaiting()
});
self.addEventListener('fetch', function (event) {
console.log(event.request.url);
event.respondWith(
caches.match(event.request).then(function (response) {
return response || fetch(event.request);
})
);
});
编辑: 我正在为网站使用 statamic。
首先验证service worker的注册事件是否成功。如果是,请尝试添加激活事件侦听器。
self.addEventListener('activate', function(event) {
console.log('Claiming control');
return self.clients.claim();
});