2011-09-16 18 views
11

Mam appcache html5 działa na stronie internetowej, działa dobrze w Safari, Opera i Chrome, ale nie działa na Firefox.HTML 5 Appcache działa w safari/opera/chrome ale nie firefox

Mam następujących w moim kodu:

<!DOCTYPE HTML> 
<html manifest="./manifest.appcache"> 
<head> 

i następującego pliku manifest.appcache:

CACHE MANIFEST 
/
/accessibility 
/anchoring 
/areas-of-application-in-business 
/calibrating-rep-system-preferences 
/circle-of-excellence 
/collapse-anchors 
/contrastive-analysis-and-mapping-across 
/convincers 
/creating-an-air-of-authority 
/decision-making 
/elicitation-of-submodalities 
/embedded-commands 
/embedded-commands-2 
/eye-patterns 
/four-types-of-feedback 
/home 
/how-to-remember-names 
/introduction-to-anchoring 
/introduction-to-nlp 
/key-elements-of-the-meta-model 
/language-and-communication-model 
/language-patterns 
/leadership 
/modelling 
/my-action-plan 
/new-behaviour-generator 
/nlp-presuppositions 
/outcome-thinking 
/pacing-and-leading 
/perceptual-positions 
/predicate-phrases 
/predicates 
/preference-test 
/presupposition-cards 
/presuppositions 
/privacy 
/rapport 
/rapport-pacing-and-leading 
/representational-systems 
/sensory-acuity 
/strategies 
/structure-for-adjusting-feedback 
/structure-of-nlp-techniques 
/structure-vs-content 
/submodalities 
/submodalities-and-strategies 
/submodalities-checklist 
/terms-and-conditions 
/the-6-deadly-words 
/the-meta-mirror 
/the-power-of-presuppositions 
/the-problem-frame-and-the-outcome-frame 
/user-profile 
/well-formed-outcomes 
/what-is-nlp 
/userImages/nlp_language_comm.png 
/css/mobile.css 
/css/style.css 


# Hash: a4e8f4f6a4dd45dd3e8acdaae8546a0a 

Używam kod tutaj: http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/ debugować pamięć podręczną aplikacji i wyświetlić dane wyjściowe na stronie.

W firefox dane wyjściowe z kodu debugowania pokazują, że pobiera on wszystkie pliki i wywołuje pamięć podręczną wymiany. Jeśli następnie odłączę się od Internetu i kliknę link do innej strony, która powinna była zostać pobrana, otrzymuję komunikat Nie można połączyć w przeglądarce Firefox, a robiąc to samo w Safari, Operze i przeglądarce Chrome działa dobrze.

Każda pomoc i sugestie będą mile widziane.

Dzięki Steve

+0

Brzmi jak Twój Firefox nie przejść do trybu offline, to pewnie myśli, że nadal jesteś podłączony do Internetu. Kliknij przycisk Firefox, zaznacz "Pracuj w trybie offline" w podmenu "Web Developer", aby zobaczyć, czy to jest powód. –

+0

Właśnie próbowałem tego i wyświetla stronę błędu trybu offline. –

Odpowiedz

0

W preferencjach Firefoksa -> Zaawansowane -> Sieć, w „następujących stronach są przechowywane dane w trybie offline:” listy, widzisz swoją stronę? Jeśli tak, spróbuj wyczyścić witrynę z listy, a następnie ponownie załaduj swoją witrynę.

+0

Został wyświetlony na liście, więc wyczyściłem go i nadal nie działa. Dzieki za sugestie. –

+0

Czy możesz zamieścić link do strony na żywo? Ponadto, czy cotangent.co (moje) cache dla Ciebie w FF? Jeśli tak, wyświetl źródło i skopiuj kod pamięci podręcznej do swojej witryny. Użyj pliku .htaccess za pomocą następującego wiersza "manifest tekstowy/manifest manifestu aplikacji" (bez cytatów, oczywiście). Jeśli to działa, dodawaj elementy z powrotem do pliku manifestu po kolei, aż coś się zepsuje. –

+0

Witaj metahack. Sprawdziłem Twoją witrynę i działa dobrze. Jedyne o czym mogę pomyśleć to to, że moja strona (steve-j.co.uk) nie ma fizycznych stron .html. Jest generowany dynamicznie za pomocą cms. Może to powoduje problemy w FF, ale dziwne, że nadal działa w innych przeglądarkach. –

11

Sprawdź, czy serwer nie ustawia nagłówków bez pamięci podręcznej/bez magazynu dla wygenerowanych plików. Firefox zignoruje ten manifest w przeciwieństwie do innych przeglądarek.

+1

Tak, to jest poprawne rozwiązanie. Wpadłem na podobny problem i pomogło mi to rozwiązać mój problem. – Nitesh

+1

Stwierdziłem również, że jest to rozwiązanie w Google App Engine, które działało poprawnie w Chrome, ale nie w Firefoksie (zdarzenie updateready po prostu uruchamiałoby się przy każdym załadowaniu strony). Zastąpienie domyślnego nagłówka Cache-Control silnika aplikacji pustym ciągiem najwyraźniej przestało działać. – notreadbyhumans

+1

To powinno być oznaczone jako prawidłowe rozwiązanie. –

1

sprawdzić, czy nagłówki no-cache/no-store są ustawione

4

miałem podobny problem. Problem polegał na tym, że FireFox plik cache bardziej agresywnie, więc musiałem dodać te nagłówki:

Na manifeście:

Pragma: no-cache 
Cache-Control: no-cache 
Expires: date 

A dla plików:

Last-Modified: date 
Cache-Control: no-cache 
Expires: date 

Wymień date przez RFC 1123 sformowana data aktualna.

1

Miałem podobny problem.

  1. Upewnij się, że plik manifestu podawane jest jako typ "text/cache-manifest"
  2. Dont go wypróbować w prywatnym trybie przeglądania w Firefox/IE. Działa tylko w zwykłym trybie przeglądania.Ale to działa w obu trybach w Chrome
  3. trybie offline, prosta zmiana w adresie URL może być problem

    • http://localhost:8080/app nie działa na Firefox/IE
    • http://localhost:8080/app/ prace nad Firefox/ie

    Obaj pracują w Chrome

  4. pomocą tych poręcznych widzów zasobów, aby uzyskać bardziej szczegółowe spojrzenie
    • about:cache - Firefox
    • chrome://appcache-internals/ - Chrome

Proszę wypełnić, jeśli ktoś wie co to jest dla IE.

-1

Odpowiedź Earlsa powyżej zadziałała dla mnie w połączeniu z wyłączaniem FireBug.

W preferencjach Firefoksa -> Zaawansowane -> Sieć, w „Poniżej stronach zapisaniu danych w trybie offline:” listy, widzisz swoją stronę ? Jeśli tak, spróbuj wyczyścić witrynę z listy, a następnie ponownie załaduj swoją witrynę.

-1

Mam ten sam problem; ten nagłówek jest dla mnie poprawny.

Content-Type: text/cache-manifest

Powiązane problemy