Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]buforowanie strony - jak ?
Forum PHP.pl > Forum > Przedszkole
elmozaur
Witajcie.
Postaram sie jak najbardziej obrazowo przedstawic to co chce uzyskac:
mam strone z 5 klawiszami:
"index.php?strona=omnie", "index.php?strona=galeria", "index.php?strona=prace" itd

Po zaladowaniu strony glownej, klikam na klawisz np galeria i widze:
strona znika (wczytuje sie css dla body), laduje sie top strony, potem lewa kolumna, srodek i tak az do zaladowania calosci.

Nastepnie klikam na nastepny klawisz i procedura sie powtarza (fakt ze szybciej, ale i tak widac ze strona znika i sie pojawia).

W glownym index.php na poczatku zaraz po session_start dodalem ob_start(); a na koncu templatki ob_end_flush(); niestety efekt "migniecia przy przelaczaniu pomiedzy stronami dalej jest.

Pytanie: czy mozna zrobic tak aby nawet przy przelaczaniu podstron, gotowa strona zostala wyrzucana na ekran po calkowitym wczytaniu bez charakterystycznego "migniecia"?

pozdrawiam
Grzegorz
Crozin
Cytat
W glownym index.php na poczatku zaraz po session_start dodalem ob_start(); a na koncu templatki ob_end_flush(); niestety efekt "migniecia przy przelaczaniu pomiedzy stronami dalej jest.
Czas wygenerowania strony przez serwer jest na tyle mały, że używanie funkcji buforu w tym celu jest pozbawione sensu,

Powodem jest jakość połączenia klient - serwer (mała prędkość, duże opóźnienia itp.). Jednak całkowicie nie pozbędziesz się mrugnięcia (chyba, że stronę ładowałbyś w ramkach, JSem - ale to są fatalne rozwiązania).

Mrugnięcie nie przeszkadza, a gdybyś jakoś zablokował stronę do czasu jej pełnego załadowania wyrządził byś dużą krzywdę odwiedzającym ją internautom, którzy chcą jak najszybciej zobaczyć treść.
bełdzio
korzystasz z tabelek do tworzenia layoutu?
elmozaur
tylkodivy z textem i grafika, i 1 flash wywolywany poprzez swfobject
lukasamd
Może warto buforować po stronie przeglądarki użytkownika, o ile grafiki czy css nie zmieniają się zbyt często?
Możesz dodać .htaccess z takim zapisem:

Kod
Header unset Pragma
FileETag None
Header unset ETag

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4|js|css)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2015 20:00:00 GMT"
Header unset Last-Modified
</FilesMatch>

<FilesMatch "\.(html|htm|xml|txt|xsl)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>


Za pierwszym razem będzie ładować tyle co ładuje, potem powinno już być znacznie szybciej, nawet jak użytkownik ma słabe łącze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.