UPDATE:Moje HTML5 Application Cache Oczywisty jest buforowanie wszystko
** Zamieściłem to pytanie, gdy funkcja ta była naprawdę nowy, teraz zdaję sobie sprawę, że ta funkcja nie powinny być używane w ten sposób, chyba że jest on używany przez JavaScript . ale wydaje się, że ten hack jest doskonałym rozwiązaniem dla większości początkujących, którzy popełniają ten sam błąd i niewłaściwe użycie tej funkcji. Jeśli chcesz cache'ować wszystko z wyjątkiem twojego HTML to powinno to być zrobione z JS lub możesz użyć rozwiązania poniżej **
Domyślam się, że moje pytanie sprowadza się do tego: Jeśli plik odwołujący się do manifestu za pomocą atrybutu manifestu Znacznik HTML należy do MASTER CACHE ENTRIES w jaki sposób strona dynamiczna może korzystać z manifestu.
Mój plik wygląda tak:
CACHE MANIFEST
CACHE:
# IMAGES:
/stylesheets/bg.jpg
/stylesheets/cont_bg.png
#and so forth..
#EXTERNAL
http://chat.mydomain.com/themes/images/panel_bg.png
http://chat.mydomain.com/themes/images/images_core.png
####################################
#STYLE SHEETS:
/stylesheets/min.css
/stylesheets/css_night.aspx
#####################################
#JAVASCRIPT:
/JAVASCRIPT/header_javascript.js
#EXTERNAL:
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
FALLBACK:
//offline.php
NETWORK:
*
Teraz problem jest raz przeglądać strony nie w manifeście, moje rzeczywiste pliki dynamiczny php jak index.php, kiedy po raz pierwszy zobaczyć stronę i tam no cache chrom idzie:
Adding master entry to Application Cache with manifest http://208.109.248.197/manifest.appcache
Application Cache Downloading event
Application Cache Progress event (0 of 28)
...
Application Cache Progress event (28 of 28)
Application Cache NoUpdate event
tej pory tak dobrze dopóki ja faktycznie załadować stronę i chrom idzie:
Application Cache UpdateReady event
Adding master entry to Application Cache with manifest http://mydomain.com/manifest.appcache
teraz jak widać w ostatnim wierszu dodaje go do mojego index.php pamięci podręcznej aplikacji i sprawdzeniu tego, przechodząc do adresu URL: chrome://appcache-internals/
Mówi:
Flags URL Size (headers and data)
Explicit, http://mydomain/JAVASCRIPT/header_javascript.js 57.5 kB
Master, http://mydomain/home.php 51.2 kB
Master, http://mydomain/index.php 53.5 kB
Master, Fallback, http://mydomain/offline.php 49.4 kB
gdzie takie rzeczy jak index.php i home.php nie powinny być buforowane. Chciałbym powiedzieć, aby nie buforować żadnych rozszerzeń html, jeśli to możliwe. Ale oto, co dowiedziałem się z różnych RFC, jak sądzę: Flaga wieloznacznika online białej listy, która jest otwarta lub blokująca.
The open state indicates that any URL not listed as cached is to be implicitly treated as being in the online whitelist namespaces; the blocking state indicates that URLs not listed explicitly in the manifest are to be treated as unavailable.
dobrze Chciałbym użyć jednego z tych internetowych biało-lista flag wieloznacznych i ustawić ją na blokowanie, ale nie mogę znaleźć żadnych wyjaśnień lub przykłady jeszcze bardziej. Czytam też:
zero or more URLs that form the online whitelist namespaces.
These are used as prefix match patterns, and declare URLs for which the user agent will ignore the application cache, instead fetching them normally (i.e. from the network or locale HTTP cache as appropriate).
Chciałbym również, aby korzystać z niektórych wzór takiego, ale potem znowu mogę znaleźć żadnej dokumentacji. Dlaczego nie ma śladu manifestu aplikacji appcache i żadna inna strona, na której byłem, nie używa go, ponieważ mój katalog appcache w chrome pokazuje brak!?!?
Dziękuję za poświęcony czas!
To zadziałało dobrze dla mnie. Dziękuję za publikację. –
Rozumiem, że moim celem było: w jaki sposób używasz i wprowadzasz pamięć podręczną aplikacji do przeglądarki bez włączania głównej strony html ... jeśli to ma jakiś sens. – Neo
@Neo możesz obsługiwać stronę główną, której nie chcesz buforować, z dyrektywą dotyczącą pamięci podręcznej "brak sklepu". – oberhamsi