Új hozzászólás Aktív témák

  • martonx

    veterán

    válasz Prog-Szerv #17652 üzenetére

    Szólok, hogy a PWA cachelésnél tudsz megadni filtereket, hiszen az is csak sima javascript, ami a PWA workerében fut :)

    Például itt van egy példa fetch event a service-workerben, ahol megadtam, hogy mely url-eket soha ne cachelje:

    self.addEventListener('fetch', event => {
        if (event.request.url.indexOf('eztnecacheld') > 0
            || event.request.url.indexOf('eztse') > 0) {
            event.respondWith(
                //This means these requests are not cached through service workers
                fetch(event.request).then(response => {
                    console.log('[PWA] not cached: ' + response.url);
                    return response;
                })
            );
            return;
        }
        event.respondWith(
            caches.match(event.request).then(cachedResponse => {
                console.log('[PWA] Fetching resource: ' + event.request.url);
                return cachedResponse || fetch(event.request).then(response => {
                    if (response.status === 404 || response.status === 500) {
                        return response;
                    }
                    return caches.open(CACHE).then(cache => {
                        console.log('[PWA] Caching new resource: ' + event.request.url);
                        cache.put(event.request, response.clone());
                        return response;
                    });
                });
            })
        );
    });

    Én kérek elnézést!

Új hozzászólás Aktív témák