Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]buforowanie strony - jak ?, jak uniknac efektu "rysowania strony"
elmozaur
post 23.01.2010, 10:49:56
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Crozin
post 23.01.2010, 11:13:13
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ść.
Go to the top of the page
+Quote Post
bełdzio
post 23.01.2010, 11:41:49
Post #3





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


korzystasz z tabelek do tworzenia layoutu?


--------------------
Go to the top of the page
+Quote Post
elmozaur
post 23.01.2010, 12:49:45
Post #4





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


tylkodivy z textem i grafika, i 1 flash wywolywany poprzez swfobject
Go to the top of the page
+Quote Post
-lukasamd-
post 23.01.2010, 14:37:13
Post #5





Goście







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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 1.07.2025 - 02:39