2011-01-31 14 views
11

Podczas korzystania z możliwości HTML5 do określania, czy/jak pliki są buforowane (w pliku manifest.cache), czy możliwe jest określenie całych katalogów? Czy mogę umieścić ścieżkę do katalogu images w sekcji CACHE: i czy ma ona zastosowanie do wszystkich plików w tym katalogu, czy też muszę jawnie określić pliki obrazów, które mają być buforowane?Czy nowy plik manifest.cache HTML5 może zawierać ścieżki do katalogów?

Innymi słowy, czy to możliwe?

CACHE MANIFEST 

... 

CACHE: 
images/ 

... a może to?

CACHE MANIFEST 

... 

CACHE: 
images/* 

... czy muszę to zrobić:

CACHE MANIFEST 

... 

CACHE: 
images/logo.png 
images/image01.jpg 
images/image02.jpg 
images/image03.jpg 
... (etc) 
+0

Drugi działa, jak sądzę. Zajrzyj do [przejdź do trybu offline z pamięcią podręczną aplikacji] (http://html5doctor.com/go-offline-with-application-cache/), aby uzyskać dalsze przykłady. –

Odpowiedz

15

Niestety Trzecim przykładem jest prawidłowa - lista każdy plik osobno. Numer html5 doctor article był niepoprawny w momencie opublikowania pytania i od tego czasu został zmieniony.
Znak wieloznaczny * jest dozwolone tylko w sekcji „on-line” białej liście:

NETWORK: 
* 

który umożliwia wszelkie wymagane pliki, które mają być pobrane podczas przeglądania online nie już pobrane (jak za normalne).
Istnieje również sekcja awaryjnej za „strona ścieżka wzór”:

FALLBACK: 
//offline.html 

że trochę działa jak zamiennika. Początkowa/dopasuje ścieżkę do każdej strony strona w witrynie, więc każda strona, która nie zostanie znaleziona w pamięci podręcznej, użyje /offline.html jako zastępczego stanu zastępczego. (Zwróć uwagę na przestrzeń między dwoma ukośnikami.)

1

Myślę, że można osiągnąć "wieloznacznik", budując plik .manifest (lub .cache w twoim przykładzie) za pomocą pliku PHP. W ten sposób możesz pozwolić PHP poradzić sobie z kłopotami z utrzymaniem nazw plików przez skanowanie katalogów i echa każdej nazwy pliku. Prawdopodobnie najlepiej pozwolić, aby PHP umieściło plik .manifest na twoim serwerze, w przeciwnym razie aplikacja trybu offline mogłaby pomyśleć, że plik manifestu został zaktualizowany i ciągle odświeżał pamięć podręczną.

Powiązane problemy