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:
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]
<body>
<script src="app.js"></script>
</body>
[/HTML]
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);
})
);
*/
});[/CODE]
Ein console.log(‚install‘) passiert schon gar nicht mehr - und ich kann nicht nachvollziehen wieso.
Hat jemand eine Idee?