J'essaie d'extraire et de mettre en cache des ressources/sites Web externes à l'aide d'un technicien de maintenance.ServiceWorker ne parvient pas à extraire la ressource externe sans raison
Mon code service-worker.js
est le suivant:
'use strict';
var static_urls = [
'https://quiqqer.local/test?app=1',
'https://quiqqer.local/calendar?app=1'
];
self.addEventListener('install', function (event)
{
event.waitUntil(
caches.open('ionic-cache').then(function(cache) {
cache.addAll(static_urls.map(function (urlToPrefetch)
{
console.log(urlToPrefetch);
return new Request(urlToPrefetch, {mode: 'no-cors'});
})).catch(function(error) {
console.error(error);
}).then(function() {
console.log('All fetched and cached');
});
})
);
});
Ce qui crée cette sortie:
service-worker.js: https://quiqqer.local/test?app=1
service-worker.js: https://quiqqer.local/calendar?app=1
service-worker.js: TypeError: failed to fetch
service-worker.js: All fetched and cached
(index): service worker installed
Quelle est la raison de l'échec chercher?
Mon site https://quiqqer.local a mis l'en-tête Access-Control-Allow-Origin
à « *
»
Peut-être que mon certificat auto-signé pour mon site?
J'ai ajouté une exception pour ce certificat, donc si j'ouvre le site Chrome montre que le site n'est pas sécurisé à côté de la barre d'URL mais le contenu est toujours affiché.
Que voyez-vous dans l'onglet Réseau? Il y a plus à soutenir [CORS] (http://www.w3.org/TR/access-control/) que juste un en-tête. –
Séparément: Souvenez-vous que si vous utilisez 'catch' et que vous ne lancez pas d'erreur dans votre gestionnaire' catch' ou que vous renvoyez une promesse qui est/sera rejetée, vous convertissez un rejet en résolution (c'est pourquoi vous voyez "Tous récupérés et mis en cache" quand ils ne sont pas, en fait, tous récupérés et mis en cache). –
Sans le crochet, il ressemble à ceci: – Panni