Dengan melakukan caching pada PWA, maka kita masih dapat mengakses aplikasi kita pada waktu offline atau pada waktu jaringan internet mati.

Prinsip caching pada PWA adalah

  1. Install service worker
  2. Caching file yang diperlukan
  3. Service worker aktif
  4. Mencoba akses saat offline

Baiklah kita mencoba satu per satu

  1. Install service worker pada /app04.js:
    if ('serviceWorker' in navigator)
    {
        navigator.serviceWorker.register('/sw04.js')
        .then(function(registration)
        {
            console.log("Berhasil registrasi service worker dengan scope:",registration.scope);
        })
        .catch(function(err)
        {
            console.log('registrasi gagal');
        });
    }
  2. Caching file yang diperlukan pada /sw04.js:
    var nama_cache = "cacheku";
    var daftar_file = 
    [
        '/104-file-1.html',
        '/104-file-2.html',
        '/img/logo-100.jpg',
        '/offline.txt',
    ];
    self.addEventListener('install', function(event)
    {
        console.log('instal ya');
        event.waitUntil(
            caches.open(nama_cache)
            .then(function(cache)
            {
                console.log('melakukan caching');
                return cache.addAll(daftar_file);
            })
        );
    });
    
    self.addEventListener('fetch',function(event)
    {
        console.log("masuk ke fetch listener");
        event.respondWith(
            caches.match(event.request)
            .then( (response)=>
            {
                if (response)
                {
                    return response;
                }
                        
                return fetch(event.request).catch(function()
                {
                    return caches.match('/offline.txt');
                });
            })
        )
    });
    

    Pada source code di atas kita akan melakukan caching pada file 104-file-1.html, 104-file-2.html, /img/logo-100.jpg dan offline.txt

  3. Mengaktifkan service worker dengan menjalankan https://pwa.aris.proweb.asia/104-file-1.html pada browser Google Chrome:
    Source code dari 104-file-1.html adalah seperti berikut ini

    <html>
    <head></head>
    <body>
    <a href=”104-file-2.html”>File 2</a>
    <script src=”/app04.js”>
    </script>
    </body>
    </html>

    Pada saat kita menjalankan 104-file-1.html dan melihat pada More Tools – Developer Tools – Application bagian Cache – Cache Storage maka akan terlihat seperti gambar berikut ini:
    Pada gambar di atas terlihat bahwa 104-file-1.html, 104-file-2.html dan logo-100.jpg sudah masuk cache sehingga bisa diakses tanpa jaringan internet.

  4. Mengakses file secara offline:
    Silahkan matikan jaringan internet anda dan coba akses ke https://pwa.aris.proweb.asia/104-file-2.html maka akan muncul seperti gambar di bawah ini

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Memahami caching PWA

One thought on “Memahami caching PWA

Comments are closed.