Jinsi ya Kutumia Cache API kwa Offline Assets
Mfano wa Code (Caching Assets kwa Service Worker):
// service-worker.js
const CACHE_NAME = 'offline-cache-v1';
const assetsToCache = [
'/',
'/index.html',
'/style.css',
'/script.js',
'/images/logo.png'
];
// Install event: Cache resources
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(assetsToCache))
.then(() => self.skipWaiting())
);
});
// Activate event: Cleanup old caches
self.addEventListener('activate', event => {
event.waitUntil(
caches.keys().then(keys =>
Promise.all(
keys.filter(key => key !== CACHE_NAME)
.map(key => caches.delete(key))
)
)
);
});
// Fetch event: Serve cached resources
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
);
});
Jinsi ya Ku-register Service Worker:
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js')
.then(reg => console.log('Service Worker Registered', reg))
.catch(err => console.log('Registration Failed', err));
});
}
Maelezo ya Code:
Install event: Inaweka resources muhimu kwenye cache (addAll).
Activate event: Inasafisha cache za zamani ili kuepuka storage overload.
Fetch event: Kwanza inajaribu kutoa resource kutoka cache, ikiwa haipo, inachukua kutoka network.
Hii inahakikisha offline support, kuongeza speed, na kutoa experience bora kwa watumiaji.
🔗 Links Za Kujifunza Zaidi:
🌐 Faulink Official Website:
https://www.faulink.com/
📘 Jifunze Web Design & Programming (Tutorials / Mifumo):
https://www.faulink.com/excel_mifumo.php
📲 Piga / WhatsApp kwa msaada wa haraka:
https://wa.me/255693118509