Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny pzreskok między podstronami
Forum PHP.pl > Forum > Po stronie przeglądarki
melior
Witam,

Siedzę od kilku dni non stop, zaraz muszę skończyć stronę, a tu nagle pojawia się problem z którym nie mogę sobie poradzić sad.gif

Strona

Przy przechodzeniu między podstronami cały czas pojawia się dziwny "przeskok", tj. strona robi się na ułamek sekundy biała i wszystkie elementy ładują się na nowo. Nie mam pojęcia skąd się to wzięło. Nie mam też pojęcia jak to usunąć.

Proszę o pomoc.

everth
Najłatwiejsze obejście - ładuj podstrony za pomocą AJAXa, unikniesz przeładowywania reszty.

Jeśli AJAX nie wchodzi w grę to ciężko mi powiedzieć. Zazwyczaj jest to wina polityki cache, podczas odświeżania strony wysyła zapytania o rewalidację zawartości. Mimo że krótkie to przez ten czas masz migawkę białego tła. Najlepiej jest ustawić wtedy cache dla elementów statycznych z długimi czasami ważności (godzina, dzień). Niestety mimo to w Operze dalej występował ten efekt więc tutaj się poddałem. Ale w reszcie dało to efekt.

PS: Ładny laj, przez chwilę myślałem że to flash.
melior
AJAXa wolałbym jednak uniknąć. Mogłem to bowiem zrobić również prościej - na zasadzie ukrytych div'ów z podstronami, które jedynie by się pojawiały/ukrywały przy kliknięciu w menu.

Zależy mi jednak na osobnych stronach ze względu na pozycjonowanie.

//
próbowałem ustawić cache, ale nic to nie dało

Kod
<?php
// seconds, minutes, hours, days
$expires = 60*60*24*14;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
?>
Blame
Strona waży 1264.6kb i się dziwisz, że są takie przeskoki? Cała treść przepuszczona przez Cufón to nie jest dobry pomysł. Plik z czcionkami waży 1mb już nie wspominając o braku możliwości zaznaczania tekstu. To już lepszym rozwiązaniem byłoby użycie @font-face. Popracuj nad optymalizacją strony, włącz kompresje gzip, zoptymalizuj obrazki, skompresuj js i css a problem sam się rozwiąże wink.gif
Co do gzip to niektóre z wielu sposobów znajdziesz u mnie na blogu: Blame - webDevelopin' Kompresja Gzip
everth
Cache nie dla htmlu ale dla obrazków tła. Teraz pewnie domyślne nagłówki generowane są przez serwer. Ja ze swojej strony przekierowałem cały ruch obrazków tła przez specjalną stronę php która wysyłała odpowiednie nagłówki. Można to też wymusić w htaccess jeśli admini włączyli odpowiedni mod. Skoro nie chcesz AJAXa (nie rozumiem dlaczego) to musisz kombinować, jest fajna strona do analizy nagłówków - redbot.org, modyfikuj je i sprawdzaj zachowanie.

@UP
Nawet nie zwróciłem uwagi na to że wstawił jQuery w niespakowanej postaci. Ale gzip nie rozwiąże jego problemów całkowicie, obrazki tła są duże a Apache wysyła je z tagiem must-revalidate. Font-face też ma swoje wady - ostatnia wersja Opery na Ubuntu notorycznie gubi przy przełączaniu zakładek takie fonty - strony wyglądają śmiesznie.
Blame
@up Po co jakieś strony skoro można to sprawdzić w zwykłym Firebug'u? tongue.gif
everth
Masz na myśli jakiś dodatek do Firebuga czy zwykły przegląd żądań? Pytam poważnie bo od dłuższego czasu używam innych narzędzi (głównie z Chrome) i nie korzystam często z Firebuga. Akurat redbot.org oferował parę rzeczy których wtedy potrzebowałem. Możliwe że i w FF jest coś takiego offline (mając wzgląd na jego pierdylion wtyczek).
melior
Hmm, dzięki za sugestie i porady. Postaram się w wolnej chwili zoptymalizować to wszystko i dam znać jak mi poszło smile.gif
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.