2010-10-07 23 views
9

Mam uruchomioną stronę z php i próbuję dowiedzieć się, jak traktuje strony php. Niektóre z moich dokumentów php są logiką routingu, a niektóre obejmują tylko pojedyncze strony. Jak mogę sprawić, aby ta praca była w trybie offline?Cache offline w trybie offline z witrynami php

Co jednak było, musiałem ponownie utworzyć logikę routingu w javascript. Czy to moja jedyna opcja? W takim razie czy możliwe jest nawet, że witryna będzie obsługiwana przez php w trybie online i przejdzie na JS w trybie offline? Nie mogę tego zrozumieć.

Odpowiedz

5

Jeśli twoja strona jest dość statyczna, manifest podręczny HTML5 może Ci w tym pomóc. Niech plik wyjściowy PHP będzie plikiem cache.manifest w poprawnym formacie z wszystkimi adresami URL systemu routingu, a te adresy URL będą przechowywane lokalnie w zgodnej przeglądarce. Próba dostępu do nich spowoduje wyciągnięcie ich z pamięci podręcznej, jeśli to możliwe.

Jeśli szukasz czegoś bardziej dynamicznego, będziesz musiał wykonać więcej czynności.

Here's some good info on offline caching.

2

Należy pamiętać, że PHP jest przetwarzane na serwerze. Wynikiem twojego kodu PHP jest wszystko, co jest wysyłane do przeglądarki. Twoja przeglądarka nie ma absolutnie żadnej wiedzy, że PHP zostało użyte nawet do stworzenia strony!

Jeśli masz kod dynamiczny, który musi działać w trybie offline, musisz użyć Javascript. Jeśli jest to tylko do testowania na własnym komputerze, umieść serwer WWW z PHP na swoim komputerze i uzyskaj dostęp przez http://localhost.

+0

Czy można jednak wyświetlać pliki .php z pliku cache? Powiedzmy, że mam pliki .php zawierające rzeczywiste PHP i inne, które zawierają tylko HTML, ale mają rozszerzenie .php. –

+3

Rozszerzenie nazwy pliku ma absolutnie ** nic ** do zrobienia z typem pliku. Typ pliku jest określony przez nagłówek HTTP typu zawartości. – Brad

1

Buforowanie offline HTML5 nie działa w celu interakcji stron; działa tylko po to, aby dana strona była dostępna offline. Zasadniczo działa on w oparciu o URL-by-URL. Jeśli absolutnie potrzebujesz funkcji offline, będziesz zmuszony do działania w JS.

Upewnij się również, że manifest zawiera wszystkie zasoby używane przez wszystkie strony.

Mam nadzieję, że to pomoże!

0

Wydaje się oczywiste, nie używać dowolnego pliku języka skryptowego po stronie serwera podczas buforowania go w swojej przeglądarce. PHP/JSP/ASP itd. Wszystkie są językiem po stronie serwera, nie możemy spełnić żądania przesłanego przez klienta, które muszą być generowane dynamicznie, a co najważniejsze nie ma serwera działającego po stronie klienta. TAK, myślę, że powinniśmy pójść na JS, gdy tylko chcemy robić takie rzeczy.

Powiązane problemy