Newsletter

Grupa MagazynyInternetowe

Online: 946

Wyszukiwarka

Projekt strony WWW, AJAX

AJAX Kurs od podstaw - wymiana fragmentu strony

AJAX Kurs od podstaw - wymiana fragmentu strony Wymiana fragmentu strony WWW bez przeładowania całego dokumentu wiąże się z kilkoma problemami. Stosując takie rozwiązania należy sprawdzić m.in. czy witryna jest dostępna dla robotów, jak się zachowuje przy wyłączonej interpretacji JavaScript oraz jak stosowane rozwiązanie wpływa na transfer. Artykuł opisuje sześć przykładowych implementacji wymiany fragmentu oraz przedstawia szczegółową analizę cech proponowanych rozwiązań.

Włodzimierz Gajda

Asynchroniczna wymiana fragmentu witryny

Wymiana fragmentu witryny bez przeładowywania całej strony jest popularnym rozwiązaniem, które znajdziemy m.in. w serwisach http://www.yahoo.com oraz http://www.fotozakupy.pl. Menu zaznaczone czerwoną obwódką powoduje wymianę treści fragmentu zaznaczonego zieloną obwódką.

Przykładowa strona prezentująca wymianę fragmentu witryny Przykładowa strona prezentująca wymianę fragmentu witryny {z9864} Wymiana fragmentu witryny Fotozakupy.pl Wymiana fragmentu witryny Fotozakupy.pl

Rozwiązanie zastosowane w Yahoo! wykorzystuje Ajax i działa także przy wyłączonym JavaScripcie (oczywiście strona jest wówczas przeładowywana w całości).

Natomiast serwis Fotozakupy stosuje zmianę widoczności warstw bez użycia Ajaksa (komplet tekstów jest zawarty w głównym dokumencie HTML). Rozwiązanie takie nie działa, gdy wyłączymy JavaScript.

Przykład

Omawiane zagadnienie przedstawię od strony praktycznej. Menu strony jest zaznaczone czerwoną obwódką. Po aktywacji jednej z opcji menu odpowiednia treść jest ładowana do pojemnika oznaczonego zieloną obwódką.

Kod HTML przykładu ma postać:

[+]
 
HTML
Pobierz
1. < div id="pojemnik">
2.    <ol id="menu">
3.       <li>...</li>
4.       <li>...</li>
5.       ...
6.    </ol>
7.    <div id="content"></div>
8. </div>

Dane w formacie HTML

Przykład prezentuje zawartość pięciu płyt muzycznych:

  • ABBA: Super Trouper,
  • AC/DC: Flick of the Switch,
  • Aerosmith: Draw the Line,
  • Black Sabbath: Eternal Idol,
  • Bob Dylan: Basement Tapes.

Pliki:

  • fragment-abba.html
  • fragment-ac_dc.html
  • fragment-aerosmith.html
  • fragment-black_sabbath.html
  • fragment-bob_dylan.html

zawierają kod HTML. Nie są to kompletne strony WWW, a jedynie fragmenty, które należy umieścić w pojemniku div#content przeznaczonym na treść.

O to zarys pliku fragment-bob_dylan.html:

[+]
 
HTML
Pobierz
 1. < h1>Bob Dylan</h1>
 2. < h2>Basement Tapes</h2>
 3. < h2>1975</h2>
 4. <table>
 5.    <tr>
 6.       <th>lp.</th>
 7.       <th>title</th>
 8.       <th>czas</th>
 9.    </tr>
10.    <tr>
11.       <td>1.</td>
12.       <td>Odds and Ends</td>
13.       <td>1:46</td>
14.    </tr>
15.    <tr>
16.       <td>2.</td>
17.       <td>Orange Juice Blues (Blues for Breakfast)</td>
18.       <td>3:37</td>
19.    </tr>
20.    ...
21. </table>

Każdy plik z opisem płyty zawiera jeden element h1 (nazwa zespołu), dwa elementy h2 (tytuł płyty oraz rok jej wydania) oraz tabelę z listą utworów. Po wstawieniu pliku fragment-bob_dylan.html otrzymamy kod:

[+]
 
HTML
Pobierz
 1. <div id="pojemnik">
 2.    <ol id="menu">
 3.    ...
 4.    </ol>
 5.    <div id="content">
 6.       <h1>Bob Dylan</h1>
 7.       <h2>Basement Tapes</h2>
 8.       <h2>1975</h2>
 9.       <table>
10.       ...
11.       </table>
12.    </div>
13. </div>
31 lipca 2008

Powiązane publikacje

Dostępność w AJAX-ie

Dostępność w AJAX-ie

AjaXplorer

AjaXplorer

AJAX Kurs od podstaw - jQuery

AJAX Kurs od podstaw - jQuery

AJAX Kurs od podstaw - wyszukiwarka

AJAX Kurs od podstaw - wyszukiwarka

 
AJAX Kurs od podstaw - interakcja AJAX - PHP

AJAX Kurs od podstaw - interakcja AJAX - PHP

AJAX Kurs od podstaw - interaktywne aplikacje WWW

AJAX Kurs od podstaw - interaktywne aplikacje WWW

 
Skomentuj
ten artykuł

Komentarzy: 2

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum Sunday, 23.05.2010 17:32Ł.B

rozwiązanie 7 framework jquery

Przejdż do tego postu na forum Friday, 1.08.2008 08:37J.Ż

brakuje jednego rozwiązania smile.gif
można użyć warstw w div'ach i przy ładowaniu strony ukryć wszystkie, mamy co prawda mrugnięcie ale za to jeśli wyłączymy JS to widzimy całą treść, wtedy wystarczy zrobić tylko kotwice w dokumencie i wszystko działa ślicznie :B

Zobacz wszystkie komentarze »

Autor

Włodzimierz Gajda

Artykuły tego autora:

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.