javascript - 服务 worker 获取事件未触发

标签 javascript service-worker statamic

我有一个网站,我在根目录下安装了一个 service worker,甚至将范围设置为“/”,如此处所述:Service worker is caching files but fetch event is never fired

但是,获取事件没有触发。感谢您的帮助。

importScripts('/site/themes/libs/cache-polyfill.js');

self.addEventListener('install', function (e) {
  e.waitUntil(
    caches.open('v1').then(function (cache) {
      return cache.addAll([
        '/',
        '/test-page',
        '/site/themes/css/main.css',
        '/site/themes/js/vendors.min.js',
        '/site/themes/js/app.min.js'
      ]);
    })
  );

  self.skipWaiting()
});

self.addEventListener('fetch', function (event) {
  console.log(event.request.url);
  event.respondWith(
    caches.match(event.request).then(function (response) {
      return response || fetch(event.request);
    })
  );
});

编辑: 我正在为网站使用 statamic。

最佳答案

首先验证service worker的注册事件是否成功。如果是,请尝试添加激活事件监听器。

self.addEventListener('activate', function(event) {
  console.log('Claiming control');
  return self.clients.claim();
});

关于javascript - 服务 worker 获取事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51562781/

相关文章:

javascript - gulpfile.js 中出现意外的 token .pipe

javascript - Chrome - 脚本标签不阻塞

javascript - React JS 中的 registerServiceWorker 做了什么?

google-chrome - 如何手动触发后台同步(用于测试)?

javascript - 无法订阅推送通知

javascript - 如何将文件上传与尚未创建的表单提交相关联?

javascript - 确保 jQuery 和 PHP 中的 AJAX 服务调用安全(使用 session token )

javascript - 在 JavaScript 中比较数组中的对象 ID

php - 在条目标签中使用静态部分变量?

vue.js - Axios 参数未正确附加到 URL