我正在使用CDN文件,但是显然我的服务人员没有缓存它们。你会做吗?
服务人员代码:
const version = "0.0.1";
const cacheName = `sfa-${version}`;
self.addEventListener('install', e => {
e.waitUntil(
caches.open(cacheName).then(cache => {
return cache.addAll([
`/`,
`/dashboard/`
])
.then(() => self.skipWaiting());
})
);
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.open(cacheName)
.then(cache => cache.match(event.request, {ignoreSearch: true}))
.then(response => {
return response || fetch(event.request);
})
);
});
答案 0 :(得分:0)
也许您试图像这样在navigator.serviceWorker容器上设置onerror处理程序:
// no effect outside service worker script
navigator.serviceWorker.onerror = function() {...};
必须从服务工作者脚本中使用self.onerror设置错误处理程序(self是此处的特殊变量/属性,它引用ServiceWorkerGlobalScope)。仅在错误消息中提供onerror回调。
// inside service worker script
self.onerror = function(message) {
console.log(message);
};
或者,您可以侦听服务人员的错误事件,其中包括一个包含错误位置的ErrorEvent:
// inside service worker script
self.addEventListener('error', function(e) {
console.log(e.filename, e.lineno, e.colno, e.message);
});
了解更多信息visit