plik


ÿþIDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ JavaScript. SPIS TRERCI SPIS TRERCI Æwiczenia praktyczne KATALOG KSI¥¯EK KATALOG KSI¥¯EK Autor: Marcin Lis KATALOG ONLINE KATALOG ONLINE ISBN: 83-7197-725-5 Format: B5, stron: 106 ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK Zapraszamy do lektury kolejnej ksi¹¿ki z serii  Æwiczenia praktyczne dotycz¹cych DODAJ DO KOSZYKA technologii tworzenia internetowych stron WWW. Tym razem prezentujemy JavaScript, DODAJ DO KOSZYKA czyli jêzyk skryptowy wzbogacaj¹cy mo¿liwoSci oferowane przez HTML. Ksi¹¿ka nie jest suchym omówieniem wszystkich konstrukcji i obiektów CENNIK I INFORMACJE udostêpnianych przez jêzyk, jest natomiast praktycznym wprowadzeniem do CENNIK I INFORMACJE programowania w JavaScript. Sk³ada siê z szeregu æwiczeñ, które przedstawione s¹ w postaci gotowej do uruchomienia w dowolnej przegl¹darce obs³uguj¹cej jêzyki ZAMÓW INFORMACJE ZAMÓW INFORMACJE skryptowe. O NOWORCIACH O NOWORCIACH JavaScript to ju¿ obecnie obowi¹zuj¹cy standard, jest to równie¿ jeden ze sk³adników ZAMÓW CENNIK ZAMÓW CENNIK DHTML. Pozwala na tworzenie efektów niedostêpnych w standardowym HTML, efektów które niegdyS trzeba by³o tworzyæ pomocy technologii takich jak np. skrypty CGI. Przy czym równoczeSnie jest to prosty jêzyk skryptowy, którego zrozumienie i nauka nie powinna sprawiæ nikomu ¿adnego problemu. Niew¹tpliwie jest to wiêc CZYTELNIA CZYTELNIA technologia warta poznania. FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Ksi¹¿ka przeznaczona jest dla osób pocz¹tkuj¹cych, dopiero zaczynaj¹cych swoj¹ przygodê z jêzykami skryptowymi. Autor zak³ada jednak, ¿e czytelnik zna przynajmniej podstawy jêzyka HTML i jest w stanie samodzielnie utworzyæ proste strony. Nie jest natomiast potrzebna znajomoSæ klasycznych jêzyków programowania takich jak C, C++ czy Java. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl RozdziaB 1. Podstawy............................................................................................................................................... 5 Czym jest JavaScript?................................................................................................... 5 JavaScript a Java........................................................................................................... 5 Co nam b¹dzie potrzebne?............................................................................................ 6 RozdziaB 2. Pierwsze skrypty ................................................................................................................................ 7 Znacznik <SCRIPT> .................................................................................................... 7 Instrukcja document.write ............................................................................................ 8 Komentarze................................................................................................................... 9 Komentarz HTML ................................................................................................................9 Komentarz typu // ...............................................................................................................10 Komentarz blokowy............................................................................................................11 Znacznik <NOSCRIPT>.....................................................................................................11 Formatowanie tekstu................................................................................................... 13 Okno dialogowe.......................................................................................................... 15 RozdziaB 3. Elementy jzyka JavaScript ........................................................................................................ 17 Typy danych JavaScript.............................................................................................. 17 Typ liczbowy ......................................................................................................................17 Warto[ci logiczne ...............................................................................................................18 AaDcuchy znaków ...............................................................................................................19 Warto[ NULL ...................................................................................................................19 Zmienne ...................................................................................................................... 19 Wprowadzanie danych................................................................................................ 21 Instrukcje warunkowe................................................................................................. 23 Operacje na zmiennych .............................................................................................. 24 Operacje arytmetyczne .......................................................................................................25 Operacje na bitach ..............................................................................................................27 Operacje przypisania ..........................................................................................................28 Operacje logiczne i porównania .........................................................................................28 Operacje na BaDcuchach znaków.........................................................................................29 Instrukcja przetwarzania warunkowego ..................................................................... 31 P¹tle ............................................................................................................................ 35 P¹tla for...............................................................................................................................35 P¹tla while ..........................................................................................................................39 RozdziaB 4. Obiekty i funkcje ............................................................................................................................. 41 Funkcje ....................................................................................................................... 41 Rekurencja .................................................................................................................. 43 Obiekty ....................................................................................................................... 47 AaDcuchy znaków (obiekt string) .......................................................................................50 2 JavaScript. wiczenia praktyczne Obiekt Math ........................................................................................................................53 Obiekt Date.........................................................................................................................55 Obiekt document.................................................................................................................57 Obiekt window....................................................................................................................62 RozdziaB 5. Zdarzenia i formularze ................................................................................................................ 65 Zdarzenia onLoad i onUnload .................................................................................... 65 Zdarzenia zwizane z mysz ...................................................................................... 68 Formularze.................................................................................................................. 70 Elementy formularzy .................................................................................................. 77 Element button....................................................................................................................78 Element checkbox...............................................................................................................78 Element hidden ...................................................................................................................80 Element radio......................................................................................................................81 Element reset ......................................................................................................................82 Element select.....................................................................................................................84 Element text ........................................................................................................................86 Element textarea .................................................................................................................87 Wykorzystanie formularzy i zdarzeD.......................................................................... 88 RozdziaB 6. Okna, ramki i ciasteczka ............................................................................................................ 95 Okna............................................................................................................................ 95 Ramki........................................................................................................................ 100 Ciasteczka, czyli cookies.......................................................................................... 103 Na pocztku zajmijmy si¹ klasycznym przykBadem, od którego zaczyna si¹ wi¹kszo[ kursów programowania. Postarajmy si¹ wy[wietli na ekranie dowolny napis np. . Aby tego dokona, wpierw musimy dowiedzie si¹, w jaki sposób umieszcza skrypty JavaScript w kodzie HTML oraz jaka instrukcja JavaScript pozwala pisa na ekranie. Kod JavaScript musi by umieszczony pomi¹dzy znacznikami HTML i . Znaczniki te mo|na umieszcza w dowolnym miejscu dokumentu, jednak przyjmuje si¹, |e je|eli jest to tylko mo|liwe, nale|y umie[ci je na pocztku pliku HTML przed znacznikiem . Znacznik ten powinien zawiera parametr , który mo|e przyjmowa dwie warto[ci: lub . Warto[ jest pozostaBo[ci po wcze- snych wersjach j¹zyka i sBu|y zachowaniu kompatybilno[ci. Powinni[my u|y warto[ci . wiczenie 2.1. Umie[ w standardowym kodzie HTML znacznik . 8 JavaScript. wiczenia praktyczne Na listingu znajduje si¹ poprawny kod HTML z zawartym znacznikiem . Jednak po wczytaniu tego pliku do przegldarki otrzymamy pust stron¹. Brakuje nam instrukcji pozwalajcej wy[wietla tekst. Instrukcja pozwala na wyprowadzenie tekstu na ekran przegldarki. Tekst, który chcemy wy[wietli, nale|y uj w nawiasy i cudzysBowy i poda zaraz za np. wiczenie 2.2. Napisz skrypt wy[wietlajcy tekst ! na ekranie przegldarki. Tak przygotowany kod spowoduje, |e na ekranie pojawi si¹ po|dany napis (rysunek 2.1). Warto zwróci uwag¹, |e w celu poprawnej interpretacji polskich liter przez przegldark¹ dodali[my w sekcji znacznik Rysunek 2.1. Efekt dziaBania instrukcji document.write() Przeanalizujmy nieco dokBadniej fragment kodu odpowiedzialny za wy[wietlanie tekstu na ekranie. Wszystkim, którzy mieli ju| wcze[niej do czynienia z j¹zykiem C bdz C++, skBadnia wydaje si¹ z pewno[ci znajoma: to obiekt, który reprezentuje aktualn stron¹. to tzw. metoda, czyli pew- na funkcja dziaBajca na obiekcie i, w tym przypadku, wy[wietlajca na ekranie tekst. Tekst ten podajemy jako argument w nawiasach. Ogólnie mo|na zapisa: RozdziaB 2. Pierwsze skrypty 9 Taki cig jest instrukcj i powinien zosta zakoDczony [rednikiem. W JavaScript nie jest to jednak obligatoryjne, chyba |e chcemy zapisa kilka instrukcji w jednej linii np.: Wymieniona tutaj, nowa funkcja dziaBa tak samo jak , z tym |e na koDcu wy[wietlanego cigu znaków dodaje znak przej[cia do nowego wiersza. Niestety, nie zobaczymy tego efektu, je|eli caBo[ nie znajdzie si¹ w bloku tekstu preformatowanego, tzn. pomi¹dzy znacznikami i . wiczenie 2.3. U|yj funkcji i do wy[wietlenia tekstu w dwóch wierszach. Jak wida na rysunku 2.2, zadanie udaBo nam si¹ wykona znakomicie. Rysunek 2.2. U|ycie instrukcji writeln() i znacznika <PRE> Znacznik , niezb¹dny do umieszczania kodu JavaScript, niestety nie jest cz¹- [ci specyfikacji HTML 2.0, ani wcze[niejszych, wi¹c niektóre przegldarki mog go nie rozpozna. W takiej sytuacji mog one wy[wietli tekst skryptu na stronie. Chcieli- by[my oczywi[cie tego unikn. Z pomoc przyjd komentarze, które mo|na umiesz- cza w kodzie HTML. Konstrukcja wyglda nast¹pujco: Je|eli zatem chcemy ukry kod przed przegldarkami nieobsBugujcymi JavaScript, powinni[my uj go w znaki komentarza, które s cz¹[ci standardu HTML. 10 JavaScript. wiczenia praktyczne Znacznik , niezb¹dny do umieszczania kodu JavaScript, niestety nie jest cz¹- [ci specyfikacji HTML 2.0, ani wcze[niejszych, wi¹c niektóre przegldarki mog go nie rozpozna. Co si¹ stanie w takiej sytuacji? Otó| sam znacznik zostanie zignorowany, natomiast caBy tekst skryptu znajdujcy si¹ mi¹dzy a zostanie wy- [wietlony na ekranie, zmieniajc nam tre[ i struktur¹ strony. Chcieliby[my oczywi[cie tego unikn. Z pomoc przyjdzie nam komentarz HTML, którego struktura wyglda nast¹pujco: Je|eli ujmiemy tekst skryptu w tak struktur¹, przegldarka nieobsBugujca JavaScriptu pominie go, traktujc wBa[nie jako zwykBy komentarz. wiczenie 2.4. Ukryj kod skryptu przed przegldarkami nieobsBugujcymi JavaScript. Powy|sze wiczenie obrazuje u|ycie komentarzy znanych z j¹zyka HTML. W Java- Script mamy natomiast dwie nowe mo|liwo[ci zastosowania komentarza. Obie s zapo- |yczone z j¹zyków programowania takich C, C++ czy Java. Pierwszy typ komentarza skBada si¹ z dwóch uko[ników: (komentarz ten zostaB zastosowany w poprzednim przykBadzie, bowiem wczesne wersje przegldarki Netscape Navigator nie rozpozna- waBy poprawnie sekwencji umieszczonej mi¹dzy etykietami ). Zaczyna si¹ on wtedy od miejsca wystpienia tych dwóch znaków i obowizuje do koDca danego wiersza. wiczenie 2.5. U|yj komentarza skBadajcego si¹ z dwóch uko[ników do opisania kodu skryptu. RozdziaB 2. Pierwsze skrypty 11 Komentarz mo|e si¹ równie| zaczyna od sekwencji i koDczy . W takim przypadku wszystko, co znajduje si¹ pomi¹dzy tymi znakami, uznane zostanie za komentarz. wiczenie 2.6. U|yj komentarza blokowego do opisania kodu skryptu. W jaki sposób jednak poinformowa u|ytkownika przegldarki nieobsBugujcej Java- Scriptu, |e strona taki skrypt zawiera, tylko nie zostaB wykonany? Z pomoc przyjd nam równie| komentarze. wiczenie 2.7. Napisz kod, który po wczytaniu do przegldarki nieobsBugujcej JavaScript wy[wietli stosowny komunikat. 12 JavaScript. wiczenia praktyczne Przegldarka nieobsBugujca skryptów po napotkaniu nieznanej sobie etykiety ignoruje j, nast¹pnie wy[wietla dwa kolejne wiersze, traktujc je jako zwykBy HTML. Nast¹pne wiersze s dla niej komentarzem, wi¹c je pomija. Z kolei dla przegldarki ob- sBugujcej skrypty komentarzem s dwa wiersze nast¹pujce po etykiecie i to one s pomijane, natomiast kod z pitego wiersza skryptu ( ) jest interpretowany i wykonywany. Jest te| jeszcze inny sposób na wykonanie tego zadania. Przegldarki Netscape Navigator oraz Internet Explorer, obie od wersji 3.0, akceptuj dodatkowy znacznik . Dzi¹ki niemu mo|emy osign podobny efekt. W tym przypadku tekst, który ma by wy[wietlony, gdy wyBczymy skrypty w danej przegldarce, umieszczamy pomi¹dzy znacznikami i . wiczenie 2.8. U|yj znacznika do poinformowania u|ytkownika, |e jego przegldarka nie obsBuguje JavaScriptu. Na rysunku 2.3 widoczny jest efekt dziaBania powy|szego kodu w przegldarce Netscape Navigator po wyBczeniu dziaBania skryptów. Rysunek 2.3. Zastosowanie znacznika <NOSCRIPT> do poinformowania u|ytkownika, |e jego przegldarka nie obsBuguje JavaScriptu RozdziaB 2. Pierwsze skrypty 13 Argumenty poznanych wy|ej funkcji i s traktowane przez przegl- dark¹ jak tekst w HTML-u. Oznacza to, |e mo|emy w BaDcuchach wy[wietlanych zna- ków wstawi praktycznie dowolne znaczniki formatujce tekst. wiczenie 2.9. U|yj znaczników HTML formatujcych tekst w argumentach funkcji i , tak by osign efekt jak na rysunku 2.4. Rysunek 2.4. Efekt u|ycia znaczników HTML w argumentach funkcji write() i writeln() Oprócz znaczników HTML w wy[wietlanych BaDcuchach znakowych mog te| pojawi si¹ znaki specjalne, takie jak np. rozpocz¹cie nowego wiersza. Je[li chcemy wy[wietli znak specjalny, musimy zastosowa sekwencj¹  uko[nik (backslash) plus litera sym- bolizujca dany znak. Sekwencje te przedstawione s w tabeli 2.1. Tabela 2.1. Sekwencje znaków specjalnych Sekwencja znaków specjalnych Znaczenie backspace wysuni¹cie kartki (ang. form feed) nowy wiersz (ang. new line character) enter (ang. carriage return) tabulator (ang. tab character) 14 JavaScript. wiczenia praktyczne Podobnie, je|eli chcemy wy[wietli cudzysBów lub sam uko[nik (backslash ), musimy go poprzedzi znakiem backslash. wiczenie 2.10. U|ywajc funkcji wyprowadz na ekran tekst zawierajcy znak cudzysBowu oraz uko[nik (rysunek 2.5). Rysunek 2.5. Wyprowadzenie na ekran znaków specjalnych W ten sam sposób mo|emy równie| pokusi si¹ o wy[wietlenie grafiki. Je|eli argu- mentem funkcji b¹dzie znacznik z odpowiednim URL-em jako parame- trem, przegldarka wy[wietli na stronie wskazany w ten sposób obrazek np. Oczywi[cie, plik o lokalizacji /javasc/gfx/grafika1.gif musi istnie, aby[my mogli zoba- czy efekt w oknie przegldarki. Formalnie rzecz biorc, powinni[my warto[ argu- mentu uj w cudzysBów, zatem zgodnie z tym, co wiemy ju| o znakach specjalnych, konstrukcja powinna wyglda nast¹pujco: wiczenie 2.11. U|yj funkcji do wy[wietlenia na ekranie pliku graficznego (rysunek 2.6). RozdziaB 2. Pierwsze skrypty 15 Rysunek 2.6. PrzykBad u|ycia funkcji write() do wy[wietlenia pliku graficznego Nauczymy si¹ teraz, jak wy[wietli na ekranie najprostsze okienko dialogowe. Okno takie sBu|y zwykle do poinformowania u|ytkownika o wystpieniu jakiego[ zdarzenia. Naj- cz¹[ciej chodzi o sytuacje, w której wystpiB bBd. Na taki charakter prezentowanej metody wskazuje ju| sama nazwa: . Mo|e ona przyjmowa jako parametr cig znaków, który zostanie wy[wietlony na ekranie. wiczenie 2.12. Wy[wietl na ekranie okno dialogowe z dowolnym napisem. Nasze okno wyglda jak na rysunku 2.7. Wykonywanie kodu jest wstrzymane do czasu, kiedy u|ytkownik kliknie przycisk OK. DokBadniej rzecz biorc, w taki sposób powinna si¹ zachowa wi¹kszo[ wspóBczesnych przegldarek. Tekst wy[wietlany w oknie dia- logowym mo|emy formatowa, u|ywajc do tego celu znaków specjalnych (tabela 2.1), podobnie jak w przypadku funkcji . 16 JavaScript. wiczenia praktyczne Rysunek 2.7. U|ycie funkcji alert() do wy[wietlenia okna dialogowego wiczenie 2.13. Wy[wietl na ekranie okno dialogowe z tekstem w dwóch wierszach (jak na rysunku 2.8). Rysunek 2.8. U|ycie znaków specjalnych formatujcych tekst w oknie dialogowym Spowoduj, aby po klikni¹ciu przez u|ytkownika przycisku OK na ekranie pojawiB si¹ plik graficzny.

Wyszukiwarka

Podobne podstrony:
JavaScript cwiczenia praktyczne Wydanie II cwjas2
JavaScript cwiczenia praktyczne Wydanie III
Access 10 PL cwiczenia praktyczne cwac10
GIMP cwiczenia praktyczne Wydanie II
Fotografia cyfrowa Ćwiczenia praktyczne
C cwiczenia praktyczne Wydanie II
Flash MX 2004 ActionScript cwiczenia praktyczne cwf4as
Microsoft Publisher 2007 PL cwiczenia praktyczne
Tworzenie stron WWW Ćwiczenia praktyczne Wydanie III
Pajaczek 5 NxG cwiczenia praktyczne
Internet cwiczenia praktyczne Wydanie III cwint3

więcej podobnych podstron