Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.

Podobne dokumenty
Współdziałanie przeglądarki i skryptów w pliku HTML (lub XML), oraz współdziałanie przeglądarki i ekranu ilustruje niżej położony rysunek.

Pozycjonowanie i poruszanie warstw

Rys.2.1. Drzewo modelu DOM [1]

Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32

Podstawy JavaScript ćwiczenia

Ćwiczenie: JavaScript Cookies (3x45 minut)

Zdarzenia Zdarzenia onload i onunload

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

HTML (HyperText Markup Language) hipertekstowy język znaczników

Zawartość specyfikacji:

plansoft.org Zmiany w Plansoft.org

Szablon główny (plik guestbook.php) będzie miał postać:

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

HTML (HyperText Markup Language)

XML extensible Markup Language. część 5

Programowanie internetowe

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

HTML DOM, XHTML cel, charakterystyka

Tworzenie Stron Internetowych. odcinek 10

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

2 Podstawy tworzenia stron internetowych

Laboratorium 7 Blog: dodawanie i edycja wpisów

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

DOM (Document Object Model)

Laboratorium 1 Wprowadzenie do PHP

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

Wykład 1: HTML (XHTML) Michał Drabik

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

Wykład 03 JavaScript. Michał Drabik

Wykład 2 TINT. XHTML tabele i ramki. Zofia Kruczkiewicz

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Kurs HTML 4.01 TI 312[01]

XML extensible Markup Language. część 5

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Test przykładowy 2 PAI WSB Wrocław /06/2018

STRONY INTERNETOWE mgr inż. Adrian Zapała

Zajęcia 4 - Wprowadzenie do Javascript

Funkcje i instrukcje języka JavaScript

Specyfikacja techniczna dot. mailingów HTML

Wprowadzenie do języka HTML

Cw.12 JAVAScript w dokumentach HTML

Dziedziczenie. Dziedziczenie i kaskadowość. Dodał Administrator środa, 10 marzec :00. Tematy: Dziedziczenie Kaskadowość

Pętle. Dodał Administrator niedziela, 14 marzec :27

WITRYNY I APLIKACJE INTERNETOWE

H2.cjk { font-family: "Microsoft YaHei"; font-size: 14pt; font-style: italic; font-weight:

rk HTML 4 a 5 różnice

Kaskadowe arkusze stylów (CSS)

Laboratorium 6 Tworzenie bloga w Zend Framework

Dokumentacja imapliteapi

AUDYT DOSTĘPNOŚCI STRONY INTERNETOWEJ

za pomocą: definiujemy:

Tworzenie stron internetowych RAMKI

Uwaga: znaczniki <body> </body> nie powinny byd umieszczane na stronie zawierającej ramki, w ramach FRAMESET.

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

JAVAScript w dokumentach HTML (1)

Programowanie w języku Python. Grażyna Koba

używane skróty: HTTP - protokół do transferu tekstu, hipertekstu, zbiorów binarnych URL - jednolity lokalizator zasobów

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Aplikacje WWW - laboratorium

Tworzenie Stron Internetowych. odcinek 5

I. Wstawianie rysunków

Aplikacje internetowe

Odnośniki jeszcze do niedawna odróżniały strony WWW od wszystkich innych dokumentów elektronicznych. Możliwość deklarowania odnośników do innych

W ogólności znaczniki mogą również posiadać atrybuty które pozwalają wpływać i manipulować własnościami znaczników lub przenosić dodatkowe informacje:

Aplikacje WWW - laboratorium

Ajax. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA. SPIS TREœCI KATALOG ONLINE

Specyfikacja techniczna kreacji HTML5

WYKŁAD 4 JĘZYK JAVASCRIPT CZĘŚĆ 1

JAVAScript tablice, przekazanie danych do funkcji, obiekty Date i window

Witryny i aplikacje internetowe

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:

Napisy w PHP. Drukowanie napisów instrukcją echo

URL:

Pomoc dla systemu WordPress

Poszczególne elementy serwisu można umieścić dla porządku w odpowiednio przemyślanym drzewie katalogów, i tak: -

Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

Tabele. Przykład 15a.htm. <HTML><HEAD><TITLE> Cennik</TITLE></HEAD><BODY><H3>Cennik</H3> <TABLE BORDER="1"> <TR>

Spis treści. Wstęp 5 Rozdział 1. Praca z AJAX-em 9. Rozdział 2. Współpraca ze skryptami PHP 55. Rozdział 3. Obsługa formularzy 81

Facelets ViewHandler

JAVAScript w dokumentach HTML - przypomnienie

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

JAVAScript w dokumentach HTML (2)

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Kompresja stron internetowych

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Widżety KIWIPortal. tworzenie umieszczanie na stronach internetowych opcje zaawansowane. Autor: Damian Rebuś Data: Wersja: 1.

Specyfikacja reklamy tekstowej i bannerowej na portalu GazetaPraca.pl

Podstawy technologii WWW

Aplikacje internetowe

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

29. Poprawność składniowa i strukturalna dokumentu XML

Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

Angular, cz. II. Tworzenie serwisów Web 2.0. dr inż. Robert Perliński

Pierwsza strona internetowa

Transkrypt:

Obiekt document służy do reprezentacji wczytanego do przeglądarki dokumentu HTML oraz zawiera szereg właściwości i metod pozwalających na jego modyfikację. Poprzez ten obiekt można otrzymać dostęp praktycznie do każdego elementu strony i za jego pomocą można tymi elementami manipulować. Poniżej zostały zaprezentowane wybrane właściwości i metody. Właściwości Najczęściej wykorzystywane właściwości obiektu document zostały przedstawione w tabeli 4.4. Część z nich istnieje tylko ze względu na kompatybilność ze starszymi wersjami przeglądarek. Należy raczej unikać korzystania z takich właściwości jak: bgcolor, fgcolor, alink, alinkcolor, vlink, gdyż ich użyteczność jest znikoma. Tabela 4.4. Wybrane właściwości obiektu document Nazwa Znaczenie Dostępność all Obiekt zawierający odniesienia do wszystkich elementów dokumentu, charakterystyczny dla przeglądarki Internet Explorer. IE, OP alinkcolor Kolor aktywnego odnośnika. anchors Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor. applets Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Applet. bgcolor Kolor tła dokumentu. FF, IE, NN 1 / 12

body Obiekt zawierający treść dokumentu HTML. characterset Ciąg określający kodowanie znaków w dokumencie. FF, NN compatmode Ciąg określający tryb kompatybilności dokumentu ze standardami HTML. cookie Ciąg znaków zawierający cookies danego dokumentu. doctype Obiekt określający typ dokumentu (DTD). FF, NN, OP domain Nazwa domenowa serwera, z którego pochodzi dokument. embeds Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów zagnieżdżonych. fgcolor Kolor tekstu dokumentu. 2 / 12

filecreateddate Data utworzenia pliku zawierającego aktualnie otwarty dokument, w formacie mm/dd/rrrr. Właściwość charakterystyczna IE filemodifieddate Data ostatniej modyfikacji pliku zawierającego aktualnie otwarty dokument, w formacie mm/dd/rrrr. Właściwość charakter IE filesize Rozmiar pliku zawierającego aktualnie otwarty dokument. Właściwość charakterystyczna dla przeglądarek z rodziny Interne IE forms Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów formularzy. height Wysokość dokumentu. FF, NN images Tablica zawierająca odniesienia do znajdujących się w dokumencie obrazów. implementation Obiekt typu DOMImplementation pozwalający stwierdzić, które elementy modelu DOM są implementowane przez bieżące lastmodified Zwiera datę i czas ostatniej modyfikacji dokumentu. 3 / 12

linkcolor Definiuje kolor odnośnika. links Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Link (odnośników). location Obiekt przechowujący URL bieżącego dokumentu. plugins Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Plugin. referrer Zawiera URL dokumentu, z którego nastąpiło odwołanie do bieżącego dokumentu. stylesheets Zawiera wszystkie style zdefiniowane w dokumencie. title Zawiera tytuł dokumentu zdefiniowany za pomocą znacznika <title>. URL Ciąg zawierający URL bieżącego dokumentu. 4 / 12

vlink Kolor odwiedzonego odnośnika. width Szerokość dokumentu. FF, NN Podstawowe informacje o dokumencie można więc uzyskać w wyniku zastosowania skryptu z listingu 4.13. Listing 4.13. Wyświetlenie podstawowych informacji o dokumencie <script type="text/javascript"> document.write("podstawowe informacje o dokumencie:<br />"); document.write("tryb kompatybilności: "); document.write(document.compatmode + "<br />"); document.write("url: " + document.url + "<br />"); document.write("liczba apletów: "); document.write(document.applets.length + "<br />"); document.write("liczba obrazów: "); document.write(document.images.length + "<br />"); document.write("liczba formularzy: "); document.write(document.forms.length + "<br />"); 5 / 12

document.write("tytuł: " + document.title + "<br />"); document.write("data ostatniej modyfikacji: "); document.write(document.lastmodified + "<br />"); </script> Przykładowy efekt jego działania ilustruje rysunek 4.5. Rysunek 4.5. Przykładowy efekt działania skryptu 4.13 Uzyskanie listy właściwości obiektu document dostępnych w danej przeglądarce można uzyskać za pomocą skryptu z listingu 4.14. Listing 4.14. Lista właściwości obiektu document <script type="text/javascript"> for(indeks in document){ } if(typeof document[indeks]!= 'function'){ } document.write("document[" + indeks + "] = "); document.write(document[indeks]); document.write("<br />"); </script> Operator typeof został użyty, aby pominąć wyświetlanie metod obiektu document. Z metodą mamy do czynienia, gdy prawdziwy jest warunek document[indeks] == 'function'. Metody Obiekt document nie zawiera dużej liczby metod. Wybrane z nich zostały przedstawione poniżej. Najczęściej korzysta się z document.getelementbyid oraz document.write. Metoda close Wywołanie: document.close() Dostępność: FF, IE3, NN2, OP9 Zamyka strumień wyjściowy otwarty za pomocą document.open. Przykład użycia znajduje się przy opisie metody open. Metoda getelementbyid 6 / 12

Wywołanie: document.getelementbyid(id) Dostępność: FF, IE5.5, NN6, OP9 Metoda getelementbyid zwraca odniesienie do elementu o identyfikatorze wskazywanym przez argument id. W ten sposób można uzyskać dostęp praktycznie do każdego elementu strony. Każdy taki element jest obiektem typu Element lub HTMLElement, którego najważniejszymi, z punktu widzenia twórcy strony, właściwościami są: innerhtml zawierająca kod HTML danego elementu; style określająca style danego elementu. Należy przy tym zwrócić uwagę, że pierwsza z nich, choć często używana, nie jest częścią specyfikacji W3C i może być odmiennie implementowana w różnych przeglądarkach. Niemniej w większości przypadków zachowanie będzie bardzo podobne bądź identyczne. Jeśli zatem za pomocą znacznika <div> zostanie zdefiniowana warstwa HTML w postaci: <div id="wr1"> <p>akapit tekstowy</p> </div> to zawartością innerhtml obiektu div o identyfikatorze wr1 będzie kod: <p>akapit tekstowy</p> Zawartość tej właściwości może być zarówno odczytywana, jak i zapisywana. Oznacza to, że treść danego elementu strony może być dynamicznie modyfikowana, co pokazuje przykład widoczny na listingu 4.15. Listing 4.15. Zmiana zawartości elementu strony <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html lang="pl"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-script-type" content="text/javascript"> <title>moja strona WWW</title> </head> <body> <div id="wr1"> 7 / 12

</div> <script type="text/javascript"> var div = document.getelementbyid("wr1"); div.innerhtml = "<p>akapit tekstowy</p>"; </script> </body> </html> W kodzie strony znalazła się warstwa zdefiniowana za pomocą znacznika <div>. Ma ona identyfikator wr1 (id="wr1"). Warstwa jest pusta (a dokładniej zawiera kilka znaków spacji i znak końca wiersza, ale nie będą one wyświetlone na witrynie). Taka strona powinna być więc pusta, jednak po jej wczytaniu do przeglądarki pojawi się napis Akapit tekstowy. Jest za to odpowiedzialny skrypt JavaScript znajdujący się za definicją warstwy. Pobiera on odwołanie do warstwy o identyfikatorze wr1 (document.getelementbyid("wr1")) i zapisuje je w zmiennej pomocniczej div. Następnie właściwości innerhtml, odpowiadającej kodowi HTML zapisanemu w danym elemencie strony, przypisuje ciąg znaków <p>akapit tekstowy</p>. To oznacza, że wewnątrz warstwy znajdzie się definicja akapitu tekstowego. Dlatego też pojawia się on na ekranie. Użyta w akapicie sekwencja specjalna </p> pozwala na zachowanie zgodności kodu źródłowego ze standardem HTML. Oczywiście sekwencja / jest zamieniana przez przeglądarkę na pojedynczy znak /. Powyższy przykład, choć demonstruje tworzenie elementu strony przez skrypt, jest statyczny i bez zaglądania do kodu źródłowego trudno stwierdzić, że została użyta technika dynamicznego wstawiania elementu. Jeśli jednak użyjemy poznanej wcześniej metody setinterval, będziemy mogli zobaczyć dynamiczną zmianę zawartości elementu witryny. Tak działa przykład przedstawiony na listingu 4.16. Listing 4.16. Dynamiczna zmiana zawartości elementu witryny <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html lang="pl"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-script-type" content="text/javascript"> <title>moja strona WWW</title> <script type="text/javascript"> var i = 1; function changecontent() { 8 / 12

var div = document.getelementbyid("wr1"); div.innerhtml = "<p>akapit tekstowy nr " + ++i + "</p>"; } setinterval("changecontent();", 1000); </script> </head> <body> <div id="wr1"> <p>akapit tekstowy nr 1</p> </div> </body> </html> Akapit tekstowy został umieszczony na warstwie, której został przypisany identyfikator wr1. Dzięki temu za pomocą wywołania document.getelementbyid("wr1") można się do niej odwoływać. Odwołanie to następuje w funkcji changecontent. Obiekt odpowiadający warstwie wr1 jest pobierany i przypisywany zmiennej div, po czym następuje wymiana treści HTML zapisanej w warstwie: zamiast istniejącej liczby jest zapisywana wartość zmiennej i. Ponieważ funkcja changecontent (dzięki wywołaniu setinterval("changecontent();", 1000);) jest wywoływana co sekundę, a zmienna i jest za każdym razem zwiększana o 1, na ekranie pojawią się kolejne numery akapitów. Skoro wiadomo już, jak wykorzystać właściwość innerhtml, warto użyć również właściwości style. Ponieważ pozwala ona zarówno na odczytanie, jak i zapisanie atrybutów stylów CSS danego elementu strony, umożliwia bardzo szeroką modyfikację jego wyglądu i zachowania. Należy przy tym zwrócić uwagę, że jeśli dany trybut jest definiowany jako: nazwa-atrybutu to z reguły odwołanie do niego będzie miało postać: nazwaatrybutu przykładowo atrybut: font-weight jako właściwość obiektu style będzie miał postać: fontweight Na listingu 4.17 zobrazowano, jak wykorzystać go do modyfikacji wyglądu tekstu. 9 / 12

Listing 4.17. Dynamiczna modyfikacja stylu CSS <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html lang="pl"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-script-type" content="text/javascript"> <title>moja strona WWW</title> <script type="text/javascript"> var styl = "normal"; function changestyle() { var element = document.getelementbyid("at1"); if(styl == "bold"){ styl = "normal"; } else{ styl = "bold"; } element.style.fontweight = styl; } setinterval("changestyle();", 1000); </script> </head> <body> <p id="at1" style="font-weight:normal">akapit tekstowy nr 1</p> </body> </html> 10 / 12

W treści strony tym razem znalazł się akapit tekstowy o identyfikatorze at1. Dzięki instrukcji setinterval("changestyle();", 1000); co 1 sekundę jest wywoływana funkcja changestyle, która dokonuje zmiany stylu akapitu. O tym, jaka wartość zostanie przypisana atrybutowi font-weight, czyli właściwości fontweight obiektu style, decyduje globalna zmienna styl. Początkowo jej wartością jest normal. Każde wywołanie funkcji changestyle powoduje zmianę wartości zapisanej w zmiennej styl na przeciwną (czyli z normal na bold lub z bold na normal). Dzięki temu co sekundę będzie następowała zmiana grubości tekstu. Metoda getelementsbyname Wywołanie: document.getelementsbyname(name) Dostępność: FF, IE5.5, NN6, OP9 Metoda getelementsbyname pobiera listę elementów posiadających atrybut name o wartości wskazanej przez argument name (zwracany jest obiekt będący kolekcją). Dotyczy to oczywiście tylko takich elementów, które ten atrybut mogą posiadać. Przykładowo: jeśli w dokumencie zostaną zdefiniowane dwie warstwy o takiej samej nazwie i różnych identyfikatorach: <div name="a1" id="id1"></div> <div name="a1" id="id2"></div> to wywołanie: var el = document.getelementsbyname("a1"); spowoduje przypisanie zmiennej el listy o dwóch elementach. Dostęp do poszczególnych elementów można uzyskać przez zastosowanie odwołania: lista.item(indeks_elementu) np.: alert(el.item(0).id); alert(el.item(1).id); Możliwe jest również zastosowanie składni z nawiasem kwadratowym, schematycznie: lista[indeks_elementu] np.: alert(el[0].id); alert(el[1].id); Metoda getelementsbytagname Wywołanie: document.getelementsbytagname(tag) Dostępność: FF, IE5.5, NN6, OP9 Metoda getelementsbytagname pobiera listę elementów utworzonych za pomocą znacznika określonego przez argument tag. Jeśli zatem istnieje potrzeba uzyskania dostępu do wszystkich odnośników zawartych w danym dokumencie, to należy zastosować wywołanie: 11 / 12

document.getelementsbytagname("a"); a gdyby była potrzebna lista wszystkich warstw, wywołanie: document.getelementsbytagname("div"); Uzyskamy w ten sposób obiekt zawierający wszystkie wskazane elementy. Dostęp do poszczególnych elementów odbywa się w taki sam sposób, jaki został opisany przy metodzie getelementsbyname. Metoda open Wywołanie: document.open([typ[, replace]]) Dostępność: FF, IE5.5, NN6, OP9 Metoda open otwiera strumień pozwalający na zapis dokumentu za pomocą metod write i writeln. Aktualne dane zawarte w dokumencie zostaną usunięte. Po zakończeniu wysyłania danych należy użyć metody close do zamknięcia strumienia. Parametr typ powinien określać typ danych. Jeżeli nie zostanie użyty, przyjęty zostanie typ domyślny text/html. Parametr replace pozwala określić, czy nowy dokument ma wystąpić jako nowy w historii odwiedzonych witryn (brak parametru replace), czy też zastąpić bieżący wpis w historii witryn (parametr replace równy true). Metod open i close można użyć następująco: var dane = "<p>akapit</p>"; document.open("text/html", true); document.write(dane); document.close(); W praktyce używanie open i close w typowych zastosowaniach nie jest konieczne, gdyż metody write i writeln same otwierają i zamykają strumień danych. Metoda write Wywołanie: document.write(text) Dostępność: FF, IE4, NN4, OP7 Metoda write umieszcza w dokumencie tekst przekazany w postaci argumentu text. Przykłady jej wykorzystania pojawiały się już wielokrotnie w trakcie kursu. Metoda writeln Wywołanie: document.writeln(text) Dostępność: FF, IE4, NN4, OP7 Metoda writeln działa analogicznie do write, z tą różnicą, że na końcu tekstu przekazanego w postaci argumentu text jest dodatkowo umieszczany znak końca linii. 12 / 12