Próbuję zaznaczyć zasoby, które są przechowywane w pamięci podręcznej pracownika usługi.czy można zmodyfikować nagłówki odpowiedzi pamięci podręcznej usługi pracownika?
Pomyślałem, że można dodać niestandardowy nagłówek do zasobu, który mógłby to wskazać, ale wygląda na to, że modyfikacje nagłówka są usuwane po zapisaniu zasobu w pamięci podręcznej pracownika usługi. Czy tak jest? Nie widzę niczego w cache spec o modyfikowaniu nagłówków odpowiedzi.
Oto przykład tego, co próbowałem:
// I successfully cache a resource (confirmed in Dev Tools)
caches.open('testCache').then(cache => {
cache.add('kitten.jpg');
})
.then(() => {
console.log('successfully cached image'); // logs as expected
});
// placeholder
var modifiedResponse;
// get the cached resource
caches.open('testCache')
.then(cache => {
return cache.match('kitten.jpg');
})
// modify the resource's headers
.then(response => {
modifiedResponse = response;
modifiedResponse.headers.append('x-new-header', 'test-value');
// confirm that the header was modified
console.log(modifiedResponse.headers.get('x-new-header')); // logs 'test-value'
return caches.open('testCache');
})
// put the modified resource back into the cache
.then((cache) => {
return cache.put('kitten.jpg', modifiedResponse);
})
// get the modified resource back out again
.then(() => {
return caches.match('kitten.jpg');
})
// the modifed header wasn't saved!
.then(response => {
console.log(response.headers.get('x-new-header')); // logs null
});
Próbowałem również usuwanie nagłówków niestandardowych, modyfikując istniejące nagłówki i utworzenie obiektu new Response()
odpowiedzi zamiast chwytając istniejącego.
Edycja: używam Chrome 56.
Byłoby to przydatne nazwa i wersja przeglądarki używanej podczas testów. – tony19
@ tony19 Ach tak, dzięki. Używam Chrome 56. Zaktualizowałem to pytanie. –