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

Podobne dokumenty
Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Rys.2.1. Drzewo modelu DOM [1]

Podstawy programowania w języku JavaScript

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

Pogadanka o czymś, co niektórzy nazywają AJAX

Podstawy JavaScript ćwiczenia

Paweł Rajba,

XML extensible Markup Language. część 5

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

JavaScript obiektowość

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

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

Tworzenie Stron Internetowych. odcinek 10

Zajęcia 4 - Wprowadzenie do Javascript

DOM (Document Object Model)

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

Zdarzenia Zdarzenia onload i onunload

Wykład 03 JavaScript. Michał Drabik

XML extensible Markup Language. część 5

HTML DOM, XHTML cel, charakterystyka

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

Zaawansowane aplikacje internetowe AJAX. Wykład prowadzi: Marek Wojciechowski AJAX

Zaawansowane aplikacje internetowe

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Krótki kurs JavaScript

Techniki WWW. (HTML, CSS, JavaScript) Dr inż. Marcin Zieliński WYKŁAD 7. Środa 15:30-17:00 sala: A-1-04

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

Aplikacje internetowe

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05

XML extensible Markup Language 6

Kompresja stron internetowych

REFERAT O PRACY DYPLOMOWEJ

WYKŁAD 1 ANGULARJS CZĘŚĆ 1

Dokumentacja imapliteapi

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

Szczegółowy opis zamówienia:

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

WYKŁAD 5 BIBLIOTEKA JQUERY CZĘŚĆ 1

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

Przykład integracji kalkulatora mbank RATY na platformie IAI

Zrąb JavascriptMVC. Krzysztof Płocharz. 6 kwiecień Uniwersytet Warszawski

O stronach www, html itp..

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

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

REACT NATIVE. Anna Maziejuk Kamil Jankowski

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

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg

Wybrane działy Informatyki Stosowanej

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

Ajax. 1. Wprowadzenie. 2. Aplikacja serwerowa

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

CZYM JEST JAVASCRIPT?

I Podstawy Wprowadzenie do technologii Ajax Żądanie Odpowiedź XML 31 JSON 39

Ajax. Wzorce i najlepsze rozwi¹zania

Wybrane działy Informatyki Stosowanej

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Aplikacje WWW. Możliwość wykorzystania elementów interfejsu użytkownika znanych z aplikacji Windows tj. wskaźniki postępu.

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

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

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.

Tworzenie Stron Internetowych. odcinek 9

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Facelets ViewHandler

Część I Powtórka z technologii internetowych...15

Aplikacje WWW - laboratorium

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

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 internetowe

Bazy Danych i Usługi Sieciowe

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

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

Aplikacje WWW - laboratorium

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Podstawy programowania w języku JavaScript

HTML, CSS i JavaScript / Laura Lemay, Rafe Colburn, Jennifer Kyrnin. Gliwice, cop Spis treści

OpenLaszlo. OpenLaszlo

Instrukcja platformy wideo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

DOKUMENTACJA INTERFEJSU API - HTTPS

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

W tej części dowiemy się, jak rozszerzyć WordPress za pomocą JSON-API. Oto kilka rzeczy, które będziemy robić z wtyczką JSON-API:

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

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

DOM SAX AJAX. SAX,DOMiAJAX. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 11 kwietnia 2010

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

TECHNOLOGIE SIECI WEB

Dokumentacja Skryptu Mapy ver.1.1

Front-end: solidne podstawy. Wszystko, co warto wiedzieć o HTML, CSS, JavaScript i Bootstrap.

Podstawy programowania w języku JavaScript

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Okna, ramki i ciasteczka

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

Aplikacje internetowe - laboratorium

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Aplikacje WWW - laboratorium

Transkrypt:

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

Moduł 6 JavaScript w przeglądarce

Agenda Skrypty na stronie internetowej Model DOM AJAX

Skrypty na stronie internetowej Gdzie umieszczać skrypty? Znacznik <script>

Gdzie umieszczać skrypty? Skrypty JavaScript można umieszczać: w elementach HTML (przypisując skrypt bezpośrednio do zdarzenia w elemencie) w znaczniku script wewnątrz strony internetowej w osobnym pliku

Znacznik <script> Znacznik, w którym można umieszczać skrypty JavaScript <script type="text/javascript"> alert("ala ma kota"); </script> Może być umieszczony w dowolnym miejscu strony Renderowanie strony zostanie zatrzymane do momentu wykonania skryptu

Model DOM Czym jest model DOM? Pobieranie elementów modelu DOM Manipulowanie elementami modelu DOM Zdarzenia

Czym jest model DOM? DOM (ang. Document Object Model) Model umożliwiający obiektowy opis strony internetowej oraz podstawowe API pozwalające na wykonywanie operacji na strukturze dokumentu W modelu tym strona przedstawiana jest w postaci drzewa, gdzie: Węzłami wewnętrznymi, są zawsze tagi HTML Liśćmi drzewa są tagi HTML, lub elementy tekstowe

Czym jest model DOM? <html> <head> <title>przyklad</title> <style> h {color:red} </style> </head> <body> <h1>naglowek</h1> <p>jakis tekst <span>cos</span> <a href="adres"> link </a> </p> </body> </html> title head style document h1 body span p a

Czym jest model DOM? Każdy węzeł posiada m. in następujące właściwości i metody Właściwości attributes[] classname id innerhtml nodename nodetype nodevalue style Metody appendchild clonechild createtextnode hasattribute / hasattributes getattribute / getattributes haschildnodes insertbefore removeattribute removechild replacechild

Pobieranie elementów modelu DOM Do elementów modelu DOM możemy dostać się za pomocą jednej z trzech funkcji: document.getelementbyid document.getelementsbytagname document.getelementsbyclassname <h1 id="naglowek">zawartosc</h1> <script type="text/javascript"> var element = document.getelementbyid("naglowek"); </script> Dostęp do elementów modelu DOM możliwy jest dopiero po jego załadowaniu i wygenerowaniu

Manipulowanie elementami modelu DOM Elementy drzewa DOM można modyfikować (dodawać, modyfikować, usuwać) z poziomu JavaScript. Zamiast wykorzystywać jednak wbudowane funkcje JavaScript bezpośrednio wygodniej jest korzystać z bibliotek np. JQuery. <h1 id="naglowek">zawartosc</h1> <script type="text/javascript"> var element = document.getelementbyid("naglowek"); element.innerhtml = "Ala ma kota"; </script>

Zdarzenia (1) Zdarzenie - umożliwia obiektowi powiadomić inne obiekty o zmianie swego stanu. Procedura obsługi zdarzenia - funkcja, której kod ma się wykonać w momencie wystąpienia danego zdarzenia. Akcja domyślna - działanie, które przeglądarka normalnie wykonuje, w momencie wystąpienia danego zdarzenia. Akcje domyślne przypisane są do takich zdarzeń, jak: naciśnięcie linku przez użytkownika zatwierdzenie formularza przeniesienie "focus" do następnego elementu, gdy użytkownik naciśnie klawisz TAB.

Zdarzenia (2) Procedurę obsługi zdarzenia można przypisać bezpośrednio: element.onzdarzenie = proceduraobslugizdarzenia przykład: function linkonclick() { alert("komunikat"); } var link = document.getelementbyid("link"); link.onclick = linkonclick;

Zdarzenia (3) Z tradycyjnym modelem obsługi zdarzeń w JavaScriptwiąże się kilka problemów: brak możliwości przypisania więcej niż jednej funkcji do danego zdarzenia. w sytuacji, gdy użytkownik kliknie na link w stronie: function kliknieciediv() { alert("kliknieciediv"); } function kliknieciea() { alert("kliknieciea"); } <div click="kliknieciediv"> <a href="strona.html" click=" kliknieciea">link</a> </div>

Zdarzenia (4) Event listener Za pomocą tzw. "Event listeners" można, do pojedynczego elementu, przypisać wiele procedur obsługi zdarzeń. element.addeventlistener("zdarzenie", procobslugi, przechwytuj) function linkonclick() { alert("komunikat"); } var link = document.getelementbyid("link"); link.addeventlistener("click",linkonclick, false);

Zdarzenia (5) Do właściwości i metod obiektu, który wywołał dane zdarzenie, można dostać się za pomocą słowa kluczowego this. function onclick() { alert(this.innerhtml); return false; } var element1 = document.getelementbyid("link1"); var element2 = document.getelementbyid("link2"); element1.addeventlistener("click", onclick, false); element2.addeventlistener("click", onclick, false); <a href="http://onet.pl" id="link1">link do onet.pl</a> <a href="http://wp.pl" id="link2">link do wp.pl</a>

Zdarzenia (6) Zdarzenia load, DOMContentLoaded pozwalają na wykonywanie kodu w momencie całkowitego załadowania strony, załadowania drzewa DOM. <!DOCTYPE html> <html><head> <script type="text/javascript"> window.addeventlistener("load", function () { alert("onload"); }, false); document.addeventlistener("domcontentloaded", function() { alert("ondomloaded"); }, false); </script></head> <body> <h1 id="naglowek">naglowek</h1> <p id="tresc">tresc <img src="obraz.jpg" /></p> </body> </html>

Zdarzenia (7) Obiekt event umożliwia dostęp do dodatkowych informacji dotyczących się danego zdarzenia. Właściwości altkey, ctrlkey, shiftkey Bubbles button* cancelable charcode clientx, clienty keycode eventphase target type Metody preventdefault() stoppropagation()

AJAX Czym jest AJAX? XMLHttpRequest JSON

Czym jest AJAX? (1) AJAX = Asynchronous JavaScript and XML AJAX pozwala na tworzenie aplikacji internetowych w taki sposób aby odczucia użytkownika były jak najbardziej zbliżone do aplikacji desktopowych. W skład AJAX wchodzą: Standardowa reprezentacja internetowa HTML + CSS Document Object Model XML JavaScript XMLHttpRequest

Czym jest AJAX? (2) Klasyczny model aplikacji WWW KLIENT Interfejs żądanie HTTP HTML + CSS Serwer HTTP Systemy dodatkowe SERWER

Czym jest AJAX? (3) Interakcja synchroniczna KLIENT aktywność użytkownika aktywność użytkownika aktywność użytkownika CZAS SERWER przetwarzanie przetwarzanie

Czym jest AJAX? (4) Model aplikacji AJAX JavaScript KLIENT Interfejs HTML + CSS Silnik AJAX żądanie HTTP XML / JSON / HTML + CSS Serwer HTTP Systemy dodatkowe SERWER

Czym jest AJAX? (5) Interakcja synchroniczna aktywność użytkownika wejście wejście wejście KLIENT przetwarzanie wyjście wyjście wyjście CZAS SERWER przetwarzanie przetwarzanie

XMLHttpRequest(1) Obiekt XMLHttpRequest jest rdzennym elementem AJAX-u odpowiedzialnym za obsługę komunikacji klienta z serwerem. Pozwala na wysyłanie żądania HTTP lub HTTPS bezpośrednio do serwera HTTP, z poziomu języka skryptowego, oraz odbierania odpowiedzi również z poziomu języka skryptowego. XMLHttpRequest jest dostępny jako obiekt JavaScript.

XMLHttpRequest(2) Właściwości i zdarzenia Nazwa Opis status Kod odpowiedzi serwera statustext Opis statusu readystate Wartość liczbowa wskazująca obecny stan obiektu responsetext Odpowiedź serwera w postaci łańcucha tekstowego responsexml Odpowiedź serwera w postaci łańcucha XML Nazwa onreadystatechange Opis Funkcja obsługizdarzenia wywoływana, gdy zmieni się stan obiektu

XMLHttpRequest(3) Metody Nazwa abort() getallresponseheaders() getresponseheader("nazwa") open("metoda", "URL", asyncflag, "login", "haslo") send(treść) setrequestheader("nazwa", "wartość") Opis Anuluje obecne żądanie HTTP pobiera wartości nagłówków HTTP z odpowiedzi serwera zwraca wartośc nagłówka HTTP o podanej nazwie Inicjalizuje żądanie wysyła żądanie HTTP do serwera i odbiera odpowiedź Ustawia wartość nagłówka żądania HTTP

XMLHttpRequest(4) Właściwość readystate Kod Nazwa Opis 0 Niezainicjalizowany obiekt nie jest zainicjalizowany 1 Wczytywany obiekt wczytuje dane 2 Załadowany obiekt wczytał dane 3 Interaktywny możliwa jest interakcja z obiektem, choć może on nie być w pełni zainicjalizowany 4 Gotowy obiekt jest w pełni zainicjalizowany

JSON JavaScript Object Notation { "Imie": "Łukasz", "Nazwisko": "Bartczuk" } [{ "Imie": "Łukasz", "Nazwisko": "Bartczuk"}, { "Imie": "Piotr", "Nazwisko": "Dziwiński"}]