如何不缓存服务器工作者客户端

时间:2017-05-24 22:25:30

标签: caching client message service-worker

我有一个向服务工作者脚本发送消息的网页。为了能够这样做,网页需要是服务器工作者脚本的客户端。 有不同的方法可以做到这一点,但据我所知,所有方法都会导致客户端网页缓存在服务工作者中。

我想知道网页是否可以向服务器工作者脚本发送消息,而不必将其缓存到服务器工作者?

1 个答案:

答案 0 :(得分:2)

当然,并不要求服务工作者根本不缓存任何内容,甚至不要求服务工作者实现fetch处理程序并拦截网络请求。您可以创建一个只有message处理程序的服务工作程序,该处理程序侦听来自其控制的页面的传入消息:

// service-worker.js:
self.addEventListener('message', event => {
  // Do something with event.data
});

但是,如果您只是使用服务工作者来收听消息,而不是拦截网络请求,我想知道像SharedWorker或仅仅是普通的Worker这样的替代方案是否会是一个更好的选择吗?