Chromeでリフレッシュ(またはオフライン)すると、 「到達する」と表示され、コンソールに次のログが記録されます:The FetchEvent for "http://localhost:8111/survey/174/deployment/193/answer/offline/attendee/240/" resulted in a network error response: a redirected response was used for a request whose redirect mode is not "follow".
。 Firefoxでリフレッシュするとすべて正常に動作します。誰かがなぜこれが起こっているのか説明できますか?リダイレクトされたレスポンスが、リダイレクトモードが「フォロー」でないリクエストに使用されました。
ここに私の簡略化されたSWがあります。
importScripts("/static/js/libs/idb.js")
var CACHE_NAME = "upshot-cache-version3"
var urlsToCache = [...]
self.addEventListener("install", event => {
event.waitUntil(
caches
.open(CACHE_NAME)
.then(cache => {
urlsToCache.map(url => cache.add(url))
})
)
})
self.addEventListener("activate", event => {
clients.claim()
})
self.addEventListener('fetch', event => {
event.respondWith(
caches
.match(event.request)
.then(response => {
if (response) {
return response
}
var fetchRequest = event.request.clone()
return fetch(fetchRequest).then(response => {
if (!response || response.status !== 200 || response.type !== 'basic') {
return response
}
var responseToCache = response.clone()
caches.open(CACHE_NAME).then(cache => cache.put(event.request, responseToCache))
return response
})
})
)
})
Firefoxのバージョンは実際には55.0b13(Developer Edition)です。 –
Hmmm ...なぜ違う振る舞いが見られるのかは分かりません。 https://bugzilla.mozilla.org/show_bug.cgi?id=1243792はFirefoxの実装トラッキングのバグです。そこでの作業は完了です。 –