我是个新手,一直在尝试将它与我的react应用程序集成。缓存工作正常,但似乎broadcastUpdate不会在文件内容更改时触发。
这是在服务工作者中截取的代码:
workbox.routing.registerRoute(/\.(?:css)$/,
workbox.strategies.staleWhileRevalidate({
cacheName: 'css-cache',
broadcastUpdate: {
channelName: 'api-updates'
},
plugins: [
new workbox.broadcastUpdate.Plugin(
'api-updates'
)
]
})
);
我正在我的主文件(index.js).Code片段中监听它
const updatesChannel = new BroadcastChannel('api-updates');
updatesChannel.onmessage = function(e) {
console.log('Received', e.data);
alert('updated');
};
当css文件的内容发生变化时,updatesChannel中不会收到任何消息。
任何帮助都将不胜感激。谢谢。
发布于 2019-01-17 03:21:56
我也试过了,结果对我也一样..事实证明,客户端无法读取这些头文件。这是CORS的事情。对我来说,解决这个问题的方法是在Django设置中显式地添加这些头文件(或您使用的头文件):
CORS_EXPOSE_HEADERS = ['Allow', 'Content-Length', 'ETag', 'Last-Modified', ]
https://stackoverflow.com/questions/53278675
复制相似问题