Chronos
Aktives Mitglied
Hallo Forum,
ich wollte ServiceWorker (von einer Website unabhängige Threads, geht ab Chrome 40) nun mal ausprobieren um Dateien offline zu cachen.
Das sieht man hier ab Folie 27:
https://docs.google.com/presentatio...YCqyww3PBtqEP0q8/edit#slide=id.g8c7fc8faa_129
Um das ganze nutzen zu können braucht man einen (lokalen)-Webserver (browser-sync ist da recht nett), aus dem Filesystem heraus geht es nicht.
Hier mein Code:
Bis zum ersten console.log geht es noch, der Serviceworker wurde als registriert.
Im sw.js selbst passiert dann schon irgendwie nichts mehr:
Ein console.log('install') passiert schon gar nicht mehr - und ich kann nicht nachvollziehen wieso.
Hat jemand eine Idee?
ich wollte ServiceWorker (von einer Website unabhängige Threads, geht ab Chrome 40) nun mal ausprobieren um Dateien offline zu cachen.
Das sieht man hier ab Folie 27:
https://docs.google.com/presentatio...YCqyww3PBtqEP0q8/edit#slide=id.g8c7fc8faa_129
Um das ganze nutzen zu können braucht man einen (lokalen)-Webserver (browser-sync ist da recht nett), aus dem Filesystem heraus geht es nicht.
Hier mein Code:
HTML:
<!DOCTYPE html>
<html lang="de">
<head>
<link rel="icon" href="./app/img/fav.png">
</head>
<body>
<script src="app.js"></script>
</body>
</html>
Code:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Registrierung des Service-Workers war erfolgreich
console.log('Registrierung des Service-Workers war erfolgreich, scope: ', registration.scope);
}).catch(function(err) {
// Registrierung des Service-Workers ist fehlgeschlagen
console.log('Registrierung des Service-Workers ist fehlgeschlagen: ', err);
});
}
Bis zum ersten console.log geht es noch, der Serviceworker wurde als registriert.
Im sw.js selbst passiert dann schon irgendwie nichts mehr:
Code:
var shellcache = 'shell-v1';
var urlsToCache = [
'/',
'/app/js/jquery-2.1.3.min.js'
];
// INSTALL
self.addEventListener('install', function(event) {
console.log('install');
/*
// Perform install steps
event.waitUntil(
caches.open(shellcache)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
*/
});
Ein console.log('install') passiert schon gar nicht mehr - und ich kann nicht nachvollziehen wieso.
Hat jemand eine Idee?