简体   繁体   English

router.navigate(url) 未通过 Service Worker 获取事件

[英]router.navigate(url) not going through Service worker fetch event

Our platform is old angular (v4) and we use plain JavaScript file (sw.js) to register Service worker in index html page.我们的平台是旧的 angular (v4),我们使用普通的 JavaScript 文件 (sw.js) 在索引 html 页面中注册 Service Worker。 I see install and activate are working fine.我看到安装和激活工作正常。 Just simple events [for testing]只是简单的事件[用于测试]

self.addEventListener('install', function(event) {
    event.waitUntil(self.skipWaiting()); // Activate worker immediately
});

self.addEventListener('activate', function(event) {
    event.waitUntil(self.clients.claim()); // Become available to all pages
});

Then Angular component routes to our main page via router.navigate('pagename') and browser even routes to that page, but service worker fetch event is not triggered..然后 Angular 组件通过 router.navigate('pagename') 路由到我们的主页,浏览器甚至路由到该页面,但没有触发 service worker fetch 事件。

self.addEventListener('fetch', event => event.respondWith(onFetch(event)));

Any idea how to fix this issue?知道如何解决这个问题吗? Thank you.谢谢你。

self.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.match(event.request)
      .then(function(response) {
        // Cache hit - return response
        if (response) {
          return response;
        }
        return fetch(event.request);
      }
    )
  );
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM