我不想为所有用户而只是为成员进行预缓存。我想这样做是为了避免不必要的服务器负载和不必要的缓存一次性访问者。
所以当访问者登录时,我向service worker发送一条消息。在下面的service worker代码片段中,"Message Received"已登录到控制台中。但是这些图片并没有被缓存。并且没有错误信息
如果我直接将precacheAndRoute(images)
放在const images = [....];
下面,那么图像将被正确缓存。
我是服务业的新手。任何帮助都是非常感谢的。
const images = [....];
addEventListener('message', (event) => {
if (event.data.type === 'cacheImages') {
console.log('Message Received');
precacheAndRoute(images);
}
});
Workbox中的preaching工作方式是在service worker为installed
时缓存文件。
你在软件的事件中调用precacheAndRoute
,软件已经安装,它不会执行preacheandroute。
你可能也想检查图像缓存配方。