Dengan semua pekerjaan yang telah kita lakukan di luar window
, Anda mungkin berpikir bahwa instance Cache
hanya dapat diakses dalam cakupan pekerja layanan. Faktanya adalah Anda dapat mengakses instance Cache
di baik cakupan pekerja layanan dan dalam kode tradisional aplikasi web Anda, yang berjalan di window
. Hal ini memudahkan pengguna untuk berinteraksi langsung dengan cache pekerja layanan, atau mengupdate antarmuka pengguna berdasarkan status cache.
Salah satu kasus penggunaan potensial adalah menawarkan fitur "simpan untuk offline" untuk halaman yang mungkin ingin dibaca nanti oleh pengguna, tetapi tahu bahwa halaman tersebut mungkin offline pada saat itu. Penyematan Glitch di bawah menunjukkan cara melakukannya dengan Workbox.
Dalam sematan di atas, Anda dapat melihat bahwa skrip app.js
menulis ke cache offline dari konteks window
saat tombol "simpan untuk offline" diklik. Di pekerja layanan, aset statis halaman di-precache untuk akses offline. Strategi NetworkOnly
digunakan dengan pengendali khusus yang mengelola akses offline untuk halaman yang di-cache, dan diteruskan ke NavigationRoute
.
Untuk menguji fungsi di sematan Glitch, lakukan langkah berikut:
- Buka jendela browser baru dan buka https://save-for-offline-test.glitch.me/
- Klik tombol yang bertuliskan Tambahkan ke daftar bacaan offline.
- Buka alat developer browser di Firefox atau Chrome. Jika Anda menggunakan Chrome, buka panel aplikasi. Di Firefox, buka panel penyimpanan.
- Pada alat developer browser mana pun, Anda akan melihat item Cache Storage di panel sebelah kiri. Klik untuk meluaskannya. Pada entri offline-cache, Anda akan melihat URL halaman yang baru saja ditambahkan di panel sebelah kanan.
- Klik link halaman lainnya di bagian bawah halaman.
- Alihkan mode offline di browser mana pun untuk menyimulasikan koneksi offline.
- Klik link untuk halaman yang telah Anda tambahkan ke cache offline. Halaman ini akan muncul meskipun Anda sedang offline.
- Klik link untuk halaman yang tidak Anda tambahkan ke cache offline. Permintaan akan gagal.
Ini bukan satu-satunya kasus penggunaan untuk bekerja dengan instance Cache
di window
. Misalnya, Anda dapat secara prediktif mengambil data dan meng-cache aset yang Anda tahu bahwa pengguna perlu melakukan tindakan tertentu. Tindakan ini akan mengurangi atau menghindari latensi download aset secara on demand.
Ada kasus penggunaan lain yang berpotensi bermanfaat, dan karena Anda dapat berinteraksi dengan instance Cache
tanpa adanya pekerja layanan, tidak semuanya mungkin memerlukan penginstalan instance.