![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
czy istnieją biblioteki/frameworki pozwalające na stworzenie strony, która opierałaby się w 100% na Ajaxowych ładowaniach podstron? Mam na myśli rozwiązanie, które ułatwiałoby tworzenie dwóch wersji strony w zależności od działania JavaScript w przeglądarce:
Czy jest już takie rozwiązanie? Co myślicie w ogóle o takiej idei? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
O rany ;P Po co odrazu cały framework (IMG:style_emoticons/default/smile.gif)
1. Poczytaj sobie o czymś co "ciekawi ludzie" nazwali AHAH - to jest mniej więcej to czego szukasz... 2. Idea jest baaardzo prosta, przedstawię Ci na prostym przykłądzie jak to zrobić bez żadnych bibliotek (IMG:style_emoticons/default/tongue.gif) Wszystkie linki muszą mieć postać: I teraz tak. Funkcja "doAhahRequest" powinna być napisana i skonfigurowana tak, by wywołała ajaxa na podany adres, i zwracała false oraz (poczytaj o tym) blokowała bąbelkowanie i domyślne eventy. Dzięki temu - jeśli JS będzie wyłączony będzie działał po prostu "href". Ajax po odczytaniu strony powinien oczywiście ładować tą stronę do okreslonego kontenera (div'a czy czegoś takiego). I teraz najważniejsze. Strona zwrócona normalnie rózni się od strony zwróconej z ajaxa. Ta z ajaxa nie potrzebuje nagłówka i stopki itp... liczy się sama treść. Nic prostszego wystarczy zawsze przy wywoływaniu jakiejś strony wysyłać dodatkową informację dołączoną do requesta AJAX. Na przyklad jako GET albo (co ja bym preferował) jakiś niestandardowy nagłówek ustawiany w ajaxie przy wysłaniu. Skrypt to rozpozna i zwróci stronę całą lub tulko ajaxową treść (IMG:style_emoticons/default/smile.gif) Samą zamianę odnośników można zrobić w prosty sposób pisząc na przykład jakąś funckję w PHP typu "generateLink($url,$title)" w której podajesz adres i generowany jest cały tag "A". proste? A działa bardzo ładnie (IMG:style_emoticons/default/wink.gif) HTH! (IMG:style_emoticons/default/wink.gif) P.S. Możesz też oczywiście te linki zmieniać dynamicznie JS'em przy ładowaniu ale z doświadczenia wiem, że to nienajlepsze rozwiązanie - dlaczego? Zasada jest prosta. uruchamiam skrypt po załadowaniu strony, który ma dynamicznie zaktualizować wszystkie "A". Powiedzmy, że na stronie mam na przykład reklamę z innej strony, która czasami potrafi dłuuugo się ładować (IMG:style_emoticons/default/smile.gif) user wchodzi, widzi link który go interesuje i klika (zanim reklama się załadowała - czyli zanim załadowała się strona - czyli linki nie były podmienione) (IMG:style_emoticons/default/wink.gif) Ten post edytował Sephirus 19.10.2011, 13:02:39 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja wiem jak to ma działać. Framework dlatego, żeby to wszystko uprościć i nie robić od zera samemu. Poza wczytywaniem treści z linków chodzi o zachowanie elementów, które nie są przeładowywane, obsługę formularzy itd. oraz jednoczesne generowanie treści dla PHP i JavaScript. Zamiast groteskowego wysyłania parametrów GET-em lepiej zrobić mapę linków w PHP definiującą co ma się dziać. No i jednak jestem za dynamicznym przypisywaniem zdarzeń onclick, bo nie chcę tego w kodzie HTML.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zamiast groteskowego wysyłania parametrów GET-em lepiej zrobić mapę linków w PHP definiującą co ma się dziać. Widzisz (IMG:style_emoticons/default/smile.gif) zależy kto co lubi - moje rozwiązanie jest na bank uniwersalne - twoje - no cóż mapa linków... zresztą ja tam pisałem też o nagłówkach - co sam sprawdziłem i działa wyśmienicie też bym nie chciał takich brzydkich getów... onclick - można ładnie zamienić na jakąś "nibyklasę css" <a class="klasa niby_klasa" href="...">...</a> i puścić skrypt który to wszystko prześwietli po załadowaniu strony, ale nie przy pomocy eventu onload - raczej jako skrypt na końcu - w razie jakiegoś zewnętrznego bytu, który będzie się nam godzinę ładował na stronie nie wywołując "onload". Co do formularzy itp. też można to JS'em wykryć i podpiąć pod to ajax. Nie wiem jak tobie - mi się wydaję, że jest to dość łatwo zrobić samemu i dość szybko i masz pewność, że będzie działało jak chcesz - znalezienie gotowca, który zaspokoi twoje wymagania może być trudne - a przerabianie + szukanie czasowo może = tworzenie od nowa ;P Sądzę że w parę godzin zrobiłbym taki systemik czyli konfiguracja AJAXa, funkcja podmieniająca to co trzeba, odczyt w PHP - byłby dość uniwersalny i prosty i co najważniejsze nie ingerujący w SEO (IMG:style_emoticons/default/smile.gif) ale ok... już nic nie mówię (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 280 Pomógł: 20 Dołączył: 12.12.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 08:23 |