Jak zbudować AJAX-ową stronę w 10 minut
Max Kiesler na swoim blogu opisuje jak przy pomocy skryptu HTMLHttpRequest v1.0beta2 zbudować stronę, gdzie możemy wstawiać zawartość (np. inne podstrony) bez przeładowania strony w przeglądarce.
Godny uwagi jest fakt, że tak wykonane menu działa z wyłączoną obsługą JavaScriptu. Oczywiście AJAX nie zadziała, ale podstrony możemy odwiedzić. Oznacza to, że wyszukiwarki do nich dotrą w przeciwieństwie do linków wykonanych w samym JavaScripcie, a takich w sieci nie brakuje…
Jak to działa, można zobaczyć na prostym przykładzie strony lub obejrzeć demo na stronie projektu.
Thursday, 30 March 2006, 12:03 pm by Całek
Witam,
Z tymi przykładami AJAXa jest jeden szkopuł. Leży usability tak samo, jak przy stronach opartych na ramkach - przyciski wstecz nie zadziałają tak, jak oczekuje tego użytkownik. AJAX jest fajny, ale musi być umiejętnie stosowany ;>)
Pozdrawiam
Friday, 31 March 2006, 1:34 pm by Wojciech Bednarski
Przycisk wstecz działa przy wyłączonym JS. Przy włączony nie działa bo i jak?
Co do strony z ramkami, to też nie rozumiem dlaczego przycisk wstecz ma nie działać. Działa tak samo jak i bez ramek. Przykład strony z ramkami - http://www.meyerweb.com/eric/css/references/css1ref.html
Friday, 31 March 2006, 2:03 pm by Całek
No i to jest właśnie problemem, że nie działa ;>)
Jest sobie taki klient pocztowy Round Cube wykorzystujący AJAX. Podczas testowania niejednokronie łapałem się na tym, że naciskałem przycisk wstecz w przeglądarce i działo się zupełnie coś innego, niż oczekiwałem. A dlaczego naciskałem?
Program działa w przeglądarce internetowej. Podświadomie (z przyzwyczajenia) oczekuję, że skoro aplikacja działa w środowisku webowym, to będzie się zachowywała w określony sposób. Siła przyzwyczajenia jest znacznie silniejsza niż świadomość, że to jest AJAX i chodzi inaczej. Pomyśl sobie teraz o mniej doświadczonych użytkownikach, którzy nie wiedzą, czego się spodziewać po AJAXie i którzy będą się czuli totalnie zdezorientowani, bo nagle znajdą się 10 kroków wcześniej niż zamierzali ;>)
Są oczywiście środowiska AJAXowe, które taką funkcjonalność oferują - każda ‘podstrona’ AJAXowa ma swój własny adres. Informacja jest przekazywana za pomocą linków zawierających.. kotwiczki.
Polecam: http://www.useit.com/alertbox/within_page_links.html oraz http://www.useit.com/alertbox/within_page_links_comments.html
Odnośnie ramek - fakt, akurat przycisk wstecz poprawnie działa w przeglądarkach… ale co z np: zakładkami? Jeżeli linki otwierane są w obrębie danej ramki (czyli nie mają target=”_top”), to gdy człowiek pochodzi po takiej stronie i będzie chciał dodać do zakładek jakąś podstronę, to mu się nie uda… więcej w dość już starym artykule: Frames Suck Most of the Time. Wiele z tych problemów przekłada się na nieumiejętnie stosowany AJAX.
Nie mówię, że AJAX jest zły - jest świetny, ale jeśli jest odpowiednio stosowany i aplikacja jest przetestowana pod kątem użyteczności.
Uf.. się rozpisałem ;>>
Pozdrawiam :>)
Saturday, 1 April 2006, 10:12 pm by Wojciech Bednarski
Wiem, że nie działa przycisk wstecz przy włączonym JS. Chciałem tylko zwrócić uwagę, że ten skrypt HTMLHttpRequest v1.0beta2 jest o tyle ciekawy, że pasuje do zwykłych linków. Zauważ, że w kodzie są zwykłe linki działające normalnie po wyłączeniu JS, a w większości ajaxowych stron po wyłączeniu JS można sobie….
Jednak Twoja propozycja z kotwiczkami jest lepsza.
Co do przycisku wstecz to faktycznie ZU mogą mieć z tym problemy. Jednak wydaje mi się, że gdyby każda strona (tak jak np Gmail) informowała, że się przeładowuje nie było by problemów. Polecam - AJAX and accessibility. Tak czy inaczej wszystko zmierza ku ajaxowi :>
Jeśli chodzi o ramki, to ja nie mówię, że są fajne czy coś. Zresztą przyszłe wersje XHTML-a nie będą miały wersji ramkowych. Podałem tylko dobry przykład na zastosowanie ramek.
Inną sprawą jest to, że wiele stron korzysta z ramek w przypadkach gdy są one w ogóle nie potrzebne.
Sunday, 2 April 2006, 11:16 am by Całek
Odnośnie linków - fakt… Aplikacja, która jest dostępna tylko dla osób z .js/czymkolwiek i nie jest aplikacją intranetową/skierowaną do konkretnej grupy zdefiniowanych odbiorców..no.. jest kiepska po prostu ;>)
Jakiś czas temu przeglądałem sobie komercyjne frameworki AJAXowe… niestety kilka z nich nie współpracowało w ogóle z Operą - kazano mi zmienic przegladarke ;>
Szperając po komentarzach w tamtym artykule natrafiłem na: ASK - AJAX Surce Kit. Pozwala tworzyć na zasadzie dodawania AJAXowej funkcjonalności do aplikacji (czyli coś, na co zwracałeś uwagę w tamtym frameworku), ale też jednocześnie wykorzystuje kotwiczki pozwalając tym samym na (częściowe) rozwiązanie problemów z bookmarkami i przyciskiem wstecz.
Czemu cześciowe? W mojej ulubionej Operze trochę to kuleje ;>)
Tuesday, 4 April 2006, 7:35 pm by Wojciech Bednarski
Jakby to powiedzieć.. ten skrypt jest delikatnie rzecz biorąc niedopracowany. Doprowadziłem go do czegoś takiego http://www.robertnyman.com/ask/content.php?continents=true&countries=true&cities=true&footertext=#1:0:2
Przycisk wstecz w moim Fx też nie działa jak powinien. Czasami nie da się schować pierwszego rozwinięcia.
Co do zakładek to jest taki problem, że mają one różne adrsy z i bez JS
Friday, 1 June 2007, 5:44 pm by snowdog
To chyba wolałbym użyć jQuery + kilka linijek inicjujących ajax i definiujących przyciski i kontener do załadowania treści. Efekt ten sam, a możliwości biblioteki wykraczają daleko poza to…