У нас есть изображения, которые перенаправляются с нашего медиа-сервера на CDN, который я пытаюсь исключить из моей рабочей рабочей логики, чтобы обойти ошибку в Chrome 40. В Canary один и тот же рабочий может работать нормально. Я думал, что есть event.default()
, чтобы вернуться к стандартному поведению, но я не вижу, что в реализации Chrome, и, читая спецификацию, кажется, что нынешняя рекомендация - просто использовать fetch(event.request)
.Любое обходное решение для ошибки перенаправления Chrome M40 для сервисных работников?
Таким образом, проблема заключается в том, что я должен дождаться, пока 99% всех наших пользователей перейдут на Chrome 41+, чтобы использовать сервис-работников в этом сценарии или есть какой-то способ, которым я могу отказаться некоторые запросы?
Ядро моей логики ниже:
worker.addEventListener('install', function(event){
event.waitUntil(getDefaultCache().then(function(cache){
return cache.addAll(precacheUrls);
}));
});
worker.addEventListener('fetch', function(event){
event.respondWith(getDefaultCache().then(function(cache){
return cache.match(event.request).then(function(response){
if (!response){
return fetch(event.request.clone()).then(function(response){
if (cacheablePatterns.some(function(pattern){
return pattern.test(event.request.url);
})) {
cache.put(event.request, response.clone());
}
return response;
});
}
return response;
});
}));
});
Можете ли вы указать мне URL-адрес ошибки? Благодаря! –