Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
Witam.
Chcę zrobić stronę bardziej dynamiczną. Dokładniej to chcę by się dynamicznie ładowały podstrony. To znaczy wpisuję link swojej strony, ładuje się cała strona i tam sobie chodzę po menu (odnośniki jakieś typu oferta, kontakt, galeria, itp) i gdy kliknę w ten odnośnik to nie chcę ładować tej samej strony tylko z parametrem GET "?page=galeria", tylko inaczej. Po kliknięciu w odnośnik, javascript by zmienił link w przeglądarce (żeby użytkownik mógł dać link do danej części strony komuś innemu) a następnie AJAX by ładował treść danej podstrony do divu z treścią. Generalnie wiem jak to zrobić, ale jak to zrobić dobrze? Użyć jQuery do tego aby wywołać AJAXA, załadować treść do konteneru na stronie? Chcę zrobić coś takiego jak ma Youtube gdy się wybiera film z kanału. No i w ogóle się zastanawiam czy to robić. Strona będzie małego projektu, ma to być wizytówka pewnego teamu rowerowego, będą tam pewne informacje, zdjęcia. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Zrób, jak najbardziej, tylko zadbaj o to, aby wszystko działało bez tych bajerów. Czyli np tworzysz link do ?page=galeria, przechwytujesz to w javascript i obsługujesz ajaxem. Jeśli js z jakiegoś powodu nie zadziała, to zwykły link tak.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
Hmm, rozumiem ale jak to zrobić? Nie potrafię sobie wyobrazić jak ten kod ma wyglądać. Jeżeli by były gdzieś powiedzmy w stopce albo nad stroną buttony, jeden "Strona statyczna", drugi "Strona dynamiczna" to wiadomo jak zrobić. Ale jak napisać kod który się wykona jeżeli javascript tego nie obsłuży? Jeżeli chodzi o tworzenie szablonów to wiadomo, dajemy kod CSS, mozilla go obsługuje ale IE nie, więc dajemy jeszcze jakiś starszy atrybut który na pewno działa pod IE i... zrobi to co ma zrobić. Ale jak zrobić w tym przypadku?
Edit: Chociaż hmm. Chyba mam pewien pomysł. Gdy AJAX wczytuje stronę to może nie wczytać jej, zwróci pewną wartość, wtedy mogę przekierować na link do którego chcemy iść, ale z jakąś dodatkową wartością. Wtedy gdy zostajemy przekierowani na tą stronę, to skrypt PHP jeśli zobaczy tą dodatkową wartość (a akurat w tym wypadku zobaczy) to od razu wczyta zawartość, nie przy pomocy jQuery + ajaxa. Hmm, ciężko mi to teraz poskładać myśl.. ale coś świta (IMG:style_emoticons/default/tongue.gif) . Ten post edytował Kuba707 14.01.2011, 21:38:25 |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
To skoro już świta to postaram się rozjaśnić (IMG:style_emoticons/default/smile.gif)
Przyjmijmy dla przykładu, że masz po prostu jakiś tekst wyświetlany w głównym oknie. W zależności od podstrony jest pobierany inny tekst. Masz sobie w php napisany skrypt, który serwuje strony. Skrypt ten pobiera sobie dane, które ma wyświetlić i w zależności od rodzaju żądania: jeśli jest ajax'em, to serwuje sam content, treść tej zmieniającej się części, jeśli nie, to serwuje całość. Czyli przykładowo, w uproszczeniu
Teraz menu generujesz na zasadzie: A całość strony No i na koniec troszeczkę jQuery:
Wszystko pisane z palca więc mogą być błędy. Ten post edytował vokiel 14.01.2011, 22:12:51 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
Hmmm ciekawe rozwiązanie, rozumiem teraz o co chodzi (IMG:style_emoticons/default/smile.gif) Tylko że na http://www.php.net/manual/en/reserved.variables.server.php nie ma 'HTTP_X_REQUESTED_WITH', co z tym?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%)
|
Patrz: druga opcja
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%)
|
No dobra, doskonale rozumiem o co chodzi (IMG:style_emoticons/default/winksmiley.jpg) Poradzę sobie z napisaniem tego kodu od nowa, dzięki (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
|
![]() ![]() |
|
Aktualny czas: 26.12.2025 - 22:43 |