<

Pozycjonowanie stron www i SEO / SEM

* wartość kampanie link popularity, noty Google (Larry Page i Sergey Brin) rozwięli jeszcze pewne znaczenie w niektórych stron (tych bardzo konkurencyjnycyh haseł takie pozycje 1-10

Dlatego znajdziesz na stronie wyników wyszukiwarkach google, yahoo, onet, wp, msn, netsprint, itp.

Polecamy Ci skorzystać?

AJAX

AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript oraz XML) – technologia tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem przebiega się bez przeładowywania całego dokumentu, w sposób asynchroniczny. Ma to umożliwiać bardziej dynamiczną interakcję z użytkownikiem niż w tradycyjnym modelu, w którym każde żądanie nowych danych wiąże się z przesłaniem całej strony HTML.

Spis treści

Podstawowe elementy AJAX

Na technologię tę składa się parę elementów:

  • XMLHttpRequest - klasa umożliwiająca asynchroniczne przesyłanie danych; dzięki asynchroniczności w trakcie pobierania danych użytkownik może wykonywać inne czynności, da się także pobierać dane równocześnie z wielu miejsc.
  • JavaScript - mimo użycia w nazwie, może to być de facto dowolny język skryptowy funkcjonujący po stronie użytkownika (np. JScript czy VBScript).
  • XML - język znaczników, poprzez który miałyby być opisane odbierane informacje. W praktyce jednak dane wielokrotnie przekazywane są w innym formacie, przy czym odbierane są wtedy jako tekst. Potrafią to być zarówno gotowe fragmenty HTML, jak oraz fragmenty kodu JavaScript (zob. JSON), może to być też format specyficzny dla danego zastosowania.

Teoretycznie są to wszystkie wymagane elementy, jednak w praktyce używane są jeszcze odpowiednie skrypty funkcjonujące po stronie serwera oraz współpracujące z bazą danych. Można sobie jednak bez nich poradzić, jeśli wszystkie potrzebne dane zostały już wcześniej wygenerowane (np. zawartość poszczególnych stron prostego serwisu).

Wady oraz ograniczenia

  • Udostępnianie treści strony poprzez język skryptowy ogranicza dostęp do niej dla części użytkowników. Dotyczy to zarówno osób celowo blokujących sobie skrypty (np. ze względu na wysokie obciążenie komputera), jak oraz używających czytników ekranowych (w których obsługa skryptów bywa mocno ograniczona). Problem ten da się obejść udostępniając alternatywne, bardziej tradycyjne rozwiązania przynajmniej dla podstawowych funkcji serwisu internetowego. To jednak znacząco zwiększa koszty wprowadzania nowych rozwiązań oraz np. portale posiadające obsługę kont pocztowych udostępniają czasem starsze wersje interfejsu.
  • Utrudnione jest automatyczne pobieranie stron, albowiem programy takie nie interpretują zwykle języków skryptowych. Możliwość dowolnego pobierania zawartości serwisu nie musi być jednak korzystna z punktu widzenia właścicieli serwisu.
  • Bezpośrednie indeksowanie przez serwisy wyszukujące bywa utrudnione, jednak wystarczy zadbać o dostarczanie linków wyświetlających całą treść strony albo stworzyć mapę witryny.
  • Część starych skryptów do analizy ruchu na stronie oparta jest o klasyczny model udostępniania całych stron (konieczność odświeżenia całości). Nowsze skrypty umieją jednak uwzględnić właściwy pomiar oglądalności stron. Można także bez przeszkód analizować logi żądań wysyłanych do serwera WWW.
  • Wadą rozwiązań w znaczącym stopniu opartych na AJAX jest fakt, że przestaje funkcjonować tradycyjny schemat przeglądania stron umożliwiający swobodne poruszanie się w przód oraz w tył. Dla przykładu jeśli kliknięcie w link powoduje wywołanie skryptu zmieniającego wnętrze strony (menu pozostaje bez zmian), to użytkownik nie będzie mógł się cofnąć korzystając z przycisku "Wstecz" przeglądarki. Twórcy serwisu WWW potrafią jednak zbudować analogiczny mechanizm rozwijając go nawet do wycofywania zmian w konkretnym fragmencie strony.

Przykład utworzenia nowego obiektu XMLHttpRequest

function ajaxFunction(){
  var xmlHttp;
  try{
    //   Utworzenie obiektu XMLHttpRequest (silnik Gecko, WebKit, Presto, Trident w IE>6)
    xmlHttp=new XMLHttpRequest(); 
  } catch(e) {
    // Wyłapuje błąd jeśli JavaScript nie ma obiektu XMLHttpRequest
    try {
      //   Utworzenie obiektu ActiveXObject, który jest zawarty w kontrolce ActiveX IE
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch(e) {
      try {
        //   Utworzenie obiektu ActiveXObject, dla innych wersji IE
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch(e) {
        // Wyświetlenie błędu o braku obsługi obiektu XMLHttpRequest
        alert("Your browser does not support AJAX!"); 
        return false;
      }
    }
  }
  // zwrócenie obiektu
  return xmlHttp; 
}

Biblioteki AJAX

popularne biblioteki JavaScript powiązane z AJAX-em
  • Prototype - biblioteka ułatwiająca korzystanie z możliwości oferowanych przez AJAX
  • jQuery - biblioteka ułatwiająca korzystanie z możliwości oferowanych przez AJAX
  • Ext - dawniej rozszerzenie Prototype, Jquery oraz YUI aktualnie samodzielna biblioteka
  • Script.aculo.us - rozszerza Prototype ułatwiając wykonywanie animacji oraz interfejsów
  • MooTools - modułowa biblioteka AJAX zawierająca także ułatwienia do tworzenia efektów wizualnych
  • Yahoo! UI Library - biblioteka narzędziowa ogólnie dla DHTML
  • Dojo Toolkit - biblioteka narzędziowa ogólnie dla DHTML
  • AJAX.OOP - biblioteka narzędziowa zbudowana dla AJAX
  • picoAjax - biblioteka prosta oraz szybka biblioteka JavaScript ułatwiająca korzystanie z możliwości oferowanych przez technologię AJAX.
popularne frameworki zawierające skrypty działające po stronie serwera
Nazwa Język skryptów Uwagi
Echo Java
Google Web Toolkit Java
IT Mill Toolkit Java
ItsNat Java
OpenXava Java
ZK Framework Java
Ajax.NET Professional ASP.NET
ASP.NET AJAX ASP.NET
Sajax PHP
Symfony PHP
PRADO PHP
Tigermouse PHP
Xajax PHP
Pyjamas Python

Sprawdź też

Linki zewnętrzne

Wikibooks-logo.svg
Sprawdź publikację na Wikibooks:
Ajax
Commons in image icon.svg

asian flirt online | wydajne i oszczędne ogrzewanie Twojego domu | Biuro Nieruchomości Białystok - Aktywne pośrednictwo, Bezpieczne transakcje | www.alians.elk.pl | krzesełko do karmienia