服务工作者正在多次请求缓存资源

时间:2016-06-28 09:07:06

标签: service-worker progressive-web-apps sw-precache

我正致力于构建渐进式网络应用程序。我们面临服务工作者的奇怪行为。

$(".coupon").on("mouseover",function(){
  $(".coupon").not(this).css("visibility","hidden");
});
$(".coupon").on("mouseout",function(){
  $(".coupon").css("visibility","visible");
});

预期结果: 只有一个网络请求应该用于一个资源。

实际结果: 正在为每个资源[SCREENSHOT[1]

提出两个网络请求

1 个答案:

答案 0 :(得分:5)

您在sw-precache获取资源以填充其缓存时所看到的内容。这与受控页面的初始请求无关。这是一个相当普遍的模型,无论您是否使用sw-precache

(顺便说一下,我看到你明确地对你的JS和CSS资源进行了版本控制,这很棒。你会注意到sw-precache现在在其预先缓存请求中添加了一个缓存清除标头,这意味着他们总是会反对网络而不是HTTP浏览器缓存。即将发布的sw-precache 4.0.0版本,您现在可以通过master分支使用,它有一个新的{{3} },它允许您选择退出通过文件名显式版本控制的资源的缓存清除。使用该选项意味着填充其缓存的额外sw-precache请求将通过HTTP浏览器缓存实现,跳过网络之旅。)