Service Workers

https://hightimes.com/news/politician-believes-legal-weed-will-spur-communist-revolution/

CACHE proxy

basically a... 

ASYNC

OFFLINE

HTTPS

ASYNC

 

 

OFFLINE

 


HTTPS

navigator.serviceWorker.register('/my-service-worker.js');

Register IT!

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/my-service-worker.js');
}

Register IT!

if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/my-service-worker.js');
  });
}

Register IT!

if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/my-service-worker.js')
      .then(() => console.log('app is ready for offline use'))
      .catch(e => console.error('offline mode borked', e));
  });
}

Register IT!

DOWNLOAD
INSTALL
ACTIVATE

DOWNLOAD
 


INSTALL

 

 

ACTIVATE

BEYOND

OFFLINE?

CODES!

self.addEventListener('install', (event) => {
    // The service worker is installed
    // ...now what?
});

worker.js

const CACHE_NAME = 'my-cache-v1';
const cachedUrls = ['/dist/styles.css', '/dist/scripts.js', '/'];

self.addEventListener('install', (event) => {
    // Cache the stuff you want to cache
    event.waitUntil(
        caches.open(CACHE_NAME)
            .then((cache) => {
                // Cache available,
                return cache.addAll(cachedUrls);
            });
    );
});

worker.js

self.addEventListener('fetch', (event) => {
    // A file was requested to be fetched! 
});

worker.js

self.addEventListener('fetch', (event) => {
    event.respondWith(
        caches.match(event.request)
            .then(response => response || fetch(event.request))
    );
});

worker.js

SOME HELP

workbox

sw-precache

offline-plugin

KTHX

serviceworke.rs

https://jakearchibald.github.io/isserviceworkerready

Made with Slides.com