Mam aplikację HTML5, która używa manifestu pamięci podręcznej, aby zapewnić funkcjonalność offline. Ta aplikacja wykonuje wywołania ajaxowe, gdy jest online, a niektóre z tych połączeń mogą uzyskać nieautoryzowaną odpowiedź 403.Konflikt podręczny HTML5: niepomyślne wywołania ajaxowe w odpowiedzi na błąd
Oto dno mojego pliku cache.manifest:
NETWORK:
*
FALLBACK:
//offline
Jeśli usunąć sekcję awaryjnej, wszystkie rozmowy ajax otrzymujących pracę 403 odpowiedzi zgodnie z oczekiwaniami i mogę wykryć to z jQuery obsługi błędów i przekierować użytkownika do formularza logowania.
Ale jeśli sekcja rezerwowa jest obecna, te same wywołania uzyskują odpowiedź 200 OK, z treścią zastępczą HTML jako treścią, mimo że serwer odpowiedział numerem 403, więc nie ma możliwości, aby się dowiedzieć, że użytkownik nie jest uwierzytelniony i należy wysłać na stronę logowania.
Czy tu czegoś brakuje? Z góry dziękuję
masz na myśli fallback zostaje wykonany, nawet gdy użytkownik jest online, a plik naprawdę nie istnieje? – Ekim
Tak, spodziewasz się, że flaga wieloznacznika online ('*') zastąpi to, co wprowadziłeś w poczcie awaryjnej. Ale działa na odwrót, na [spec] (http://www.w3.org/TR/2011/WD-html5-20110525/offline.html#parsing-cache-manifests) –