2017-01-27 2 views
0

По общему признанию, я довольно зелёный. Я пытался получить работника службы, чтобы отобразить страницу в автономном режиме, и я получаю эту ошибку, когда я беру в браузере в автономном режиме:Служащий, получающий ошибку кэширования в Chrome

не может получить /offline.html?cachebust=1485461215845

Я на основе моих код на этот пост:

http://deanhume.com/home/blogpost/create-a-really--really-simple-offline-page-using-service-workers/10135

Мой Index.html скрипт имеет это в нем:

<script type="text/javascript"> 
// Register the service worker 
if ('serviceWorker' in navigator) { 
    navigator.serviceWorker.register('/sw.js').then(function(registration) { 
     // Registration was successful 
     console.log('ServiceWorker registration successful with scope: ', registration.scope); 
    }).catch(function(err) { 
     // registration failed :(
     console.log('ServiceWorker registration failed: ', err); 
    }); 
} 
</script> 

И Моя_служба код работника (sw.js) Имеет это в нем:

'use strict'; 
var cacheVersion = 1; 
var currentCache = { 
    offline: 'offline-cache' + cacheVersion 
}; 
const offlineUrl = 'offline.html'; 

this.addEventListener('install', event => { 
    event.waitUntil(
     caches.open(currentCache.offline).then(function(cache) { 
      return cache.addAll([ 
       offlineUrl 
      ]); 
     }) 
    ); 
}); 
this.addEventListener('fetch', event => { 
    // request.mode = navigate isn't supported in all browsers 
    // so include a check for Accept: text/html header. 
    if (event.request.mode === 'navigate' || (event.request.method === 'GET' && event.request.headers.get('accept').includes('text/html'))) { 
     event.respondWith(
      fetch(event.request.url).catch(error => { 
       // Return the offline page 
       return caches.match(offlineUrl); 
      }) 
     ); 
    } 
    else{ 
     // Respond with everything else if we can 
     event.respondWith(caches.match(event.request) 
      .then(function (response) { 
       return response || fetch(event.request); 
      }) 
     ); 
    } 
}); 

Отладка код выглядит все работает, кроме последней строки (чтобы выполнить это возвращение caches.match (offlineurl)), но вместо отображения страницы в автономном режиме, я получаю ошибку CACHEBUSTER. Не много на google на кешбастере. Любое понимание было бы оценено.

+0

'не может получить /offline.html?cachebust= 1485461215845' - на хосте, который вы пытаетесь получить, у вас есть 'offline.html' вообще? –

+0

да, я могу перейти к файлу с прямым URL-адресом – user3253156

ответ

0

Я обнаружил, что эта ошибка возникает, когда я бегу на локальном хосте, когда я портировал приложение на сервер HTTPS (Heroku) offline.html ведет себя, как и ожидалось

Смежные вопросы