http://localhost
sw.js
et le placer à la racine du sitenavigator.serviceWorker.register('/sw.js');
if (navigator.serviceWorker) {
navigator.serviceWorker.register('/sw.js');
}
.then()
ou échoué .catch()
if (navigator.serviceWorker) {
navigator.serviceWorker.register('/sw.js')
.then(function() {
// Succès de l’enregistrement
})
.catch(function() {
// Échec de l’enregistrement
});
}
if (navigator.serviceWorker) {
navigator.serviceWorker.register('/sw.js')
.then(function(enregistrement) {
console.log('Service Worker enregistré avec succès ! \nSa portée est :', enregistrement.scope);
})
.catch(function(erreur) {
console.log('Échec de l\'enregistrement du Service Worker. \n', erreur);
});
}
open()
sur l’objet caches
caches.open('kiwi:001');
caches.open('kiwi:001')
.then(function(cache) {
// Cache ouvert
})
.catch(function() {
// Échec de l’ouverture du cache
});
addEventListener('install', function() {
caches.open('kiwi:001')
.then(function() {
// Remplissage du cache
});
});
addEventListener('install', function(installation) {
installation.waitUntil(
caches.open('kiwi:001')
.then(function() {
// Remplissage du cache
});
);
});
addEventListener('install', function(installation) {
console.log('Installation du SW en cours…');
installation.waitUntil(
caches.open('kiwi:001')
.then(function() {
console.log('Cache ouvert');
// Remplissage du cache
});
);
});
var fichiers = [
'index.html',
'kiwiparty_fichiers/styles.css',
'kiwiparty_fichiers/speaker-after.jpg',
'kiwiparty_fichiers/speaker-goutay.jpg',
'kiwiparty_fichiers/speaker-quiz.jpg',
'kiwiparty_fichiers/logo-wdstr.png',
'kiwiparty_fichiers/map-acces.png',
'kiwiparty_fichiers/speaker-arnaud-malon.png',
'kiwiparty_fichiers/speaker-aurelie.png',
…
];
addAll()
cache.addAll(fichiers);
install
addEventListener('install', function(installation) {
installation.waitUntil(
caches.open('kiwi:001').then(function(cache) {
return cache.addAll(fichiers);
})
);
});
fetch
addEventListener('fetch', function(ressource) {
// Requête interceptée
});
et c’est tout…
caches.match(ressource.request);
caches.match(ressource.request)
.then(function(reponse) {
if (reponse) {
// Récupération de la ressource dans le cache
} else {
// Récupération de la ressource sur le serveur
}
});
caches.match(ressource.request)
.then(function(reponse) {
if (reponse) {
return reponse;
} else {
return fetch(ressource.request);
}
});
caches.match(ressource.request)
.then(function(reponse) {
if (reponse) {
return reponse;
}
return fetch(ressource.request);
});
respondWith()
ressource.respondWith(
caches.match(ressource.request)
.then(function(reponse) {
if (reponse) {
return reponse;
}
return fetch(ressource.request);
})
);
addEventListener('fetch', function(ressource) {
ressource.respondWith(
caches.match(ressource.request)
.then(function(reponse) {
if (reponse) {
return reponse;
}
return fetch(ressource.request);
})
);
});