r04-01.doc

(700 KB) Pobierz
Helion









Rozdział 1 ¨ Pierwsze kroki (Nagłówek strony)

Rozdział 4

u autora 6

.
Język programowania JavaScript

Wielu autorów stron sieciowych trafia do XML z HTML i zwykle nie mają oni zbyt wielkiego doświadczenia programistycznego poza kodowaniem HTML – a w tym języku umiejętność programowania nie jest potrzebna, gdyż kod ten jest po prostu interpretowany i wyświetlany przez przeglądarkę sieciową. W przypadku XML sytuacja wygląda już inaczej, gdyż ten język z kolei służy głównie do zapisu danych. Wprawdzie przeglądarka może te dane udostępnić, ale do autora należy już sięgnięcie do nich, a to już wymaga pewnych umiejętności programistycznych. W tym rozdziale skupimy się na opanowaniu podstawowej wiedzy, która umożliwi użycie XML w stosowanych obecnie przeglądarkach sieciowych. Jeśli chodzi jedynie o wyświetlenie dokumentu XML, żadna wiedza programistyczna nie jest potrzebna, gdyż przeglądarka sama potrafi zinterpretować dokument, można też zastosować arkusz stylów.

Obecnie istnieją dwie przeglądarki

u autora jedna – dodałem Netscape Navigator 6

, które potrafią bezpośrednio zinterpretować XML: Internet Explorer Microsoftu (wersja 5 i wyższe) oraz Navigator Netscape’a (wersja 6 i wyższe). Niezależnie od tego, co sądzisz o Microsofcie, jednego nie można im odmówić: jako jedni z pierwszych udostępnili obsługę XML i zaangażowali się w rozwój tego języka, dzięki temu to Internet Explorer był pierwszą przeglądarką, w której można obsługiwać dokumenty XML stosując języki VBScript (język skryptowy Microsoftu oparty na ich Visual Basicu) i JavaScript. Jeśli chodzi o Netscape, obsługa XML pojawiła się po raz pierwszy w testowych edycjach ich przeglądarki w wersji 6 (udostępnianych jako Mozilla). W tej książce, aby prezentowany kod można było uruchamiać w możliwie wielu przeglądarkach, użyjemy języka JavaScript (później też omówimy programowanie w Javie). Jeśli jesteś już z JavaScriptem za pan brat, spokojnie możesz ten rozdział opuścić – ale być może warto, byś go przynajmniej przekartkował.

Czym jest JavaScript?

JavaScript jest najpowszechniej stosowanym obecnie językiem skryptowym. Stosując JavaScript możesz w witryny sieciowe wstawiać programy i je uruchamiać. W następnym rozdziale zobaczysz, jak można użyć tych programów do pobierania treści elementów XML i wartości ich atrybutów, a także jak wyszukiwać w dokumentach XML dane.

W Internet Explorerze doskonałym narzędziem do obsługi XML są wyspy XML, które umożliwiają wstawianie kodu XML bezpośrednio w strony HTML dzięki możliwości bezpośredniego odczytywania dokumentów XML. W tym rozdziale poznamy sam JavaScript, w następnym użyjemy tego języka do parsowania dokumentów XML. Z kolei w rozdziale 6

u autora 8.

użyjemy JavaScriptu do ładowania dokumentów XML do rekordów bazy danych, co umożliwia wyszukiwanie, porządkowanie i wyświetlanie danych na różne sposoby.

Programy JavaScriptu wpisuje się do dokumentów HTML stosując znacznik <SCRIPT>, który zwykle znajduje się w sekcji HEAD. Jeśli jednak programu używasz do wyświetlania tekstu bezpośrednio na stronie, odpowiedni znacznik <SCRIPT> umieścić należy w sekcji BODY, gdyż sekcja HEAD może zostać zinterpretowana jeszcze zanim dostępna będzie sekcja BODY.

Oto przykład, od którego zaczniemy. Języka JavaScript używamy do wypisania tekstu „Witaj w JavaScripcie!” na stronie przy jej pierwszym wyświetleniu:

<HTML>

  <HEAD>

    <TITLE>

      Witaj w JavaScripcie!

    </TITLE>

  </HEAD>

  <BODY>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

      document.writeln("Witaj w JavaScripcie!")

    //-->

    </SCRIPT>

    <CENTER>

      <H1>

        Witaj w JavaScripcie!

      </H1>

    </CENTER>

  </BODY>

</HTML>

Wyniki interpretacji tego kodu HTML pokazano na rysunku 4.1. Kod JavaScriptu wypisał tekst powitalny w lewym górnym rogu strony.

Rysunek 4.1.

Użycie JavaScriptu w Internet Explorerze

Wprawdzie w tej chwili palmę pierwszeństwa dzierży Internet Explorer, ale prowadzący się stale zmienia i warto pamiętać o pewnych różnicach w implementacji JavaScriptu, szczególnie między Microsoftem a Netscape. Jeśli tę samą stronę chcesz obejrzeć w Netscape Navigatorze, przed pisaniem czegokolwiek w dokumencie musisz go otworzyć, a następnie trzeba go zamknąć:

<HTML>

  <HEAD>

    <TITLE>

      Witaj w JavaScripcie!

    </TITLE>

  </HEAD>

  <BODY>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

      document.open()

      document.writeln("Witaj w JavaScripcie!")

      document.close()

    //-->

    </SCRIPT>

    <CENTER>

      <H1>

        Witaj w JavaScripcie!

      </H1>

    </CENTER>

  </BODY>

</HTML>

Teraz na chwilę nasz przykład odłóżmy i zastanówmy się w ogóle, jak kod JavaScript wstawia się do strony. Kod umieszczamy między znacznikami <SCRIPT> a </SCRIPT>, przy czym dodajemy jeszcze atrybut LANGUAGE o wartości JavaScript, aby przeglądarka wiedziała, jak skrypt ma interpretować:

<HTML>

  <HEAD>

    <TITLE>

      Witaj w JavaScripcie!

    </TITLE>

  </HEAD>

  <BODY>

    <SCRIPT LANGUAGE="JavaScript">

      .

      .

      .

    </SCRIPT>

    <CENTER>

      <H1>

        Witaj w JavaScripcie!

      </H1>

    </CENTER>

  </BODY>

</HTML>

Cały kod JavaScriptu zamykać będziemy w komentarzu HTML. Jest to bardzo dobry zwyczaj – przeglądarki HTML, w przeciwieństwie do przeglądarek XML, jeśli nie rozumieją znaczników, to je pomijają i po prostu wyświetlają tekst między nimi się znajdujący. Niektóre przeglądarki mogą nie rozumieć JavaScriptu ani znacznika <SCRIPT>, więc po prostu wyświetliłyby kod funkcji. Jeśli przeglądarka nie potrafi JavaScriptu zinterpretować, to po prostu cały kod pominie jako komentarz. Z kolei przeglądarki JavaScript obsługujące zignorują znaczniki komentarza – zwróć jednak uwagę na to, że na końcu zamiast zwykłego --> użyliśmy //-->. Jest to konieczne po to, żeby przeglądarka napisu --> nie próbowała zinterpretować jako kodu JavaScript (// to z kolei oznaczenie komentarza w JavaScripcie):

<HTML>

  <HEAD>

    <TITLE>

      Witaj w JavaScripcie!

    </TITLE>

  </HEAD>

  <BODY>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

      .

      .

      .

    //-->

    </SCRIPT>

    <CENTER>

      <H1>

        Witaj w JavaScripcie!

      </H1>

    </CENTER>

  </BODY>

</HTML>

Przeglądarki nie obsługujące JavaScriptu

Istnieje też znacznik <NOSCRIPT>, który umożliwia wyświetlanie komunikatów w przeglądarkach nie obsługujących JavaScriptu – na przykład:

<NOSCRIPT>Właśnie przeszła Ci koło nosa świetna prezentacja w języku JavaScript!</NOSCRIPT>

Przeglądarki nie obsługujące JavaScriptu nie potrafią zinterpretować ani znacznika <SCRIPT>, ani <NOSCRIPT>, ale wyświetlą treść elementu NOSCRIPT. Z kolei treść elementu SCRIPT pominą, gdyż umieściliśmy ją w komentarzu. Przeglądarki obsługujące JavaScript znacznik <NOSCRIPT> pomijają.

Teraz możemy już zacząć wpisywać kod JavaScript. Tym razem jest to po prostu wyrażenie document.writeln("Witaj w JavaScripcie!"), które powoduje wypisanie podanego tekstu w oknie przeglądarki:

<HTML>

  <HEAD>

   <TITLE>

      Witaj w JavaScripcie!

    </TITLE>

  </HEAD>

  <BODY>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

      document.writeln("Witaj w JavaScripcie!")

    //-->

    </SCRIPT>

    <CENTER>

      <H1>

        Witaj w JavaScripcie!

      </H1>

    </CENTER>

  </BODY>

</HTML>

Tak właśnie wygląda pierwszy nasz wiersz kodu JavaScript. Podczas ładowania strony kod ten jest odczytywany i wykonywany przez przeglądarkę.

Oficjalna specyfikacja JavaScriptu mówi, że każda instrukcja kończyć się powinna średnikiem. Zatem formalnie nasz pierwszy wiersz powinien wyglądać tak: document.writeln("Witaj w JavaScripcie!");, jednak obecnie przeglądarki już tego średnika nie wymagają – jest to wygodne, bo bardzo łatwo jest zapomnieć o nim. W przypadku typowego kodu JavaScript znajdowanego w Sieci średniki te są pomijane, więc i my będziemy tak samo postępowali.

Dwie istotne implementacje JavaScriptu to implementacje firm Netscape i Microsoft. Szczera i głęboka przyjaźń między tymi firmami ulega jednak pewnym wahaniom, szczególnie jeśli chodzi o przeglądarki, jeśli więc sądzisz, że obie implementacje JavaScriptu mogą być niezgodne, to masz rację.

JavaScript i Netscape

Dokumentację JavaScriptu jak go widzi Netscape znajdziesz pod adresem http://developer.netscape.com/tech/javascript/index.html (pamiętaj, że tego typu adresy mogą jednak się często zmieniać). Netscape stworzył też wersję JavaScriptu przeznaczoną do używania na serwerach, a nie w przeglądarkach – opis tej wersji znajdziesz pod adresem http://docs.iplanet.com/docs/manuals/ssjs.html.

JScript i Microsoft

Implementacja JavaScriptu zrobiona p...

Zgłoś jeśli naruszono regulamin