Bevezetés DOM Script beszúrás Szintaxis Események Beépített objektumok. Kliens oldali script nyelvek - JavaScript

Hasonló dokumentumok
Kliens oldali script nyelvek - JavaScript

Kliens oldali script nyelvek - JavaScript. JavaScript. JavaScript. amit nyújt:

NONPROFIT ÉRDEKVÉDELMI SZERVEZETEK FEJLESZTÉSE (PL.3346) Java-script nyelv. programozás alapjai. Haramia László

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

WEB TECHNOLÓGIÁK 4.ELŐADÁS

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

Programozás s 2 javascript

HTML, Javascript és az objektumok

WEBFEJLESZTÉS 2. ŰRLAPOK, KÉPEK, TÁBLÁZATOK, BÖNGÉSZŐ

Bevezetés Működési elv AJAX keretrendszerek AJAX

A JavaScript főbb tulajdonságai

Web Technológiák. Répási Tibor egyetemi tanársegéd. Miskolc Egyetem,Gépészmérnöki kar, Infomatikai és Villamosmérnöki Tanszékcsoport (IVM)

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

AJAX AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

Az image objektum. Az image eseménykezel i. Képek el zetes betöltése. Feladat. Váltóképek készítése

bb témakörök Programozás JavaScript nyelven A JavaScript szerepe Kliensoldali szkript alkalmazása JavaScript a weboldalon

AJAX-ot támogató keretrendszerek

12.óra jquery Framework #1. Gyimesi Ákos

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

Tartalom. A JavaScript haladó lehet ségei. Megjelenés. Viselkedés. Progresszív fejlesztés. A progresszív fejlesztés alapelvei

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

Objektumorientált programozás

JavaScript változók Number Stringek:

RIA Rich Internet Application

A JavaScript. Kovács Botond. Matematika-Informatika 641. Kolozsvár

Smalltalk 2. Készítette: Szabó Éva

1. Egyszerű (primitív) típusok. 2. Referencia típusok

AWK programozás, minták, vezérlési szerkezetek

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

A C# programozási nyelv alapjai

Jquery. Konstantinusz Kft.

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Memória játék. Felhasználói dokumentáció

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

AWK programozás, minták, vezérlési szerkezetek

Az Educatio weboldalain elhelyezhető hirdetések technikai paraméterei

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

Google Web Toolkit. Elek Márton. Drótposta kft.

Informatika terméktervezőknek

Sakk játék. Feladat: JavaScript segítségével olyan programot kell írni, ami egy sakktáblát szimulál. Kiválasztásra változtatják a helyüket.

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Web programoz as

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

BASH script programozás II. Vezérlési szerkezetek

Internet programozása. 1. előadás

Javacript alapismeretek

OOP #14 (referencia-elv)

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Szövegek C++ -ban, a string osztály

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Tili-Toli játék. Felhasználói dokumentáció

Szoftvertechnológia alapjai Java előadások

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Új jelszó beállítása. Új jelszó beállítása az IFA rendszerhez. BIZALMAS INFORMÁCIÓ JET-SOL JET-SOL 2.0 verzió

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

MATLAB alapismeretek II.

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Sakk-játék. Bármilyen számítógépen működik, amin található böngésző és Java alkalmazás. Indító képernyő

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Készítette: Nagy Tibor István

C#, OOP. Osztályok tervezése C#-ban

Flex: csak rugalmasan!

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Web programozás. 3. előadás

Webszolgáltatások (WS)

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Java II. I A Java programozási nyelv alapelemei

PHP. Adatbázisok gyakorlat

Komputeralgebra rendszerek

Programozási nyelvek II.: JAVA, 4. gyakorlat

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Internet technológiák

Algoritmizálás és adatmodellezés tanítása 1. előadás

Komputeralgebra rendszerek

Az internet az egész világot behálózó számítógép-hálózat.

AWK programozás Bevezetés

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

1. DVNAV letöltése és telepítése

1. Jelölje meg az összes igaz állítást a következők közül!

Java II. I A Java programozási nyelv alapelemei

Smalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Hálózatok építése és üzemeltetése

Webes alkalmazások fejlesztése

XML adatkezelés. A DOM alapú adatkezelés. Dr. Kovács László Répási Tibor kiegészítéseivel

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Ajax és Echo 2. Bokor Attila

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Átírás:

Kliens oldali script nyelvek - JavaScript

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

Áttekintés Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok

JavaScript a JavaScript a Web-en használt legnépszerűbb script nyelv az elterjedtebb böngészők nagyrésze ismeri (Internet Explorer, Mozilla, Firefox, Chrome, Opera) értelmező (interpreter) nyelv a kód értelmezése dinamikusan történik szintaxisa hasonĺıt a Java programozási nyelvéhez a Netscape vezette be (kezdetben LiveScript néven) hivatalos változata ECMAScript (ECMA-262 standard)

JavaScript amit nyújt: a HTML oldalak készítői számára egy programozási eszközt biztosít (használata egyszerű) módosíthatja a HTML tartalmát, kinézetét (a HTML DOM objektumaihoz való hozzáférés által) eseményekre tud reagálni (pl. oldal betöltése, kattintás egy elemre, stb.) a bevitt adat helyességének ellenőrzésére ad lehetőséget (mielőtt elküldenénk a szerverre) megvizsgálhatjuk a böngésző típusát, és ennek függvényében más-más, böngésző-specifikus tartalmat tölthetünk be sütiket (cookies) hozhatunk létre a kliens gépén való információ-tárolás érdekében

HTML Document Object Model A HTML Dokumentum Objektum Modell (HTML DOM) lehetőséget teremt a dokumentum elemeihez való hozzáférésre és ezek módosítására A DOM platform- és nyelvfüggetlen interfész a DOM a HTML dokumentumnak egy fa-szerkezetet feleltet meg. Csomópontok: dokumentum csomópont a teljes dokumentum elem csomópont minden HTML elem (tag) szöveg csomópont az egyes HTML elemek törzse attribútum csomópont a HTML attribútumok megjegyzés csomópontok HTML kommentek DOM objektum modell részei (alap, HTML DOM, XML DOM)

<html> <head> <title>my title</title></head> <body> <a href="...">my link</a> <h1>my header</h1> </body> </html>

DOM DOM objektumok közti kapcsolat: szülő (parent) gyerek (child) testvér (sibling) előd (ancestor) utód (descendant) csomópontokhoz való hozzáférés: getelementbyid(), getelementsbytagname() metódusok segítségével egy elem csomópont parentnode, childnodes, firstchild, lastchild, previoussibling, nextsibling, attributes,... mezőit használva sajátos csomópont: document.body

DOM egy csomópont standard mezői: információt nyújtanak az illető csomópontról nodename csomópont neve (tag-név, attribútumnév, #text, #document, #comment) nodevalue szöveg- illetve attribútum csomópontok esetén a szöveget illetve attribútum értékét tartalmazza nodetype csomópont típusa megj.: egy-egy csomópont számos más mezővel is rendelkezik, illetve hozzárendelt metódusokkal

DOM (JavaScript) objektumok window a JavaScript hierarchiában a legfelső szinten levő objektum. A böngészőablaknak felel meg. kollekció: frames[] mezők: document, history, location; (outerheight, outerwidth); statusbar, scrollbars, toolbar (láthatóak legyenek vagy sem); self, top, status metódusok: blur(),focus(); alert(), confirm(), prompt(); open(), close(); settimeout(), cleartimeout(), setinterval(), clearinterval(); scrollby(), scrollto(); moveby(), moveto(); resizeto(), resizeby() előugró ablakok (a window objektum metódusai) figyelmeztető ablak (alert box): alert("szoveg") inkább hibakeresés (debug) céljából használják jóváhagyó ablak (confirm box): confirm("szoveg") jóváhagyás kérése fontosabb művelet végrehajtása előtt adatbekérő ablak (prompt box): prompt("szoveg","alapertelmezett") pl. adatbekérés az oldal betöltése előtt (ritkán használt)

DOM (JavaScript) objektumok a window objektum alobjektumai: history az illető böngészőablakból meglátogatott URL-ket tartalmazza (window.history) mezők, metódusok: length, back(), forward(), go() location információ az aktuális URL-ról (window.location) mezők, metódusok: href (teljes URL), protocol, hostname, port, pathname, hash (# utáni rész), search (? utáni rész); assign(), reload(), replace() document...

DOM objektumok document objektum a teljes HTML dokumentumhoz való hozzáférést teszi lehetővé a window JavaScript-objektum része (window.document) kollekciók: anchors[], forms[], images[], links[] mezők: body, cookie, domain, lastmodified, referrer, title, URL metódusok: getelementbyid(), getelementsbyname(), getelementsbytagname(), open(), close(), write(), writeln() HTML elemeknek megfelelő objektumok esetén: beálĺıtható, átálĺıtható bármely attribútum értéke az elem törzse az innerhtml mezőn keresztül érhető el lásd: Peldak/csere.htm bővebb információért HTML DOM referencia

JavaScript beágyazása HTML oldalba <script type="text/javascript">... </script> JavaScript-et nem használó régebbi böngészők esetén: <script type="text/javascript"> <!--... //--> </script> Külső script-állomány beszúrása <script src="kulso.js"></script> több HTML oldal is használhatja átláthatóbb kód: HTML illetve JavaScript szétválasztása

JavaScript elhelyezése: elvileg bárhova elhelyezhető (script elembe ágyazva) a script kiértékelése az oldal betöltése közben történik. függvények, globális változók deklarálása a head elemben ajánlott az itt megírt függvényeket pl. meghívhatjuk a body egy elemének valamilyen eseményére

a nyelv szintaxisa Java-hoz hasonló (if, if else, while, switch, for, while, do while, break, continue, stringkezelés... ) változók a változók típusának meghatározása dinamikusan történik a JavaScript különbséget tesz kis és nagybetűk közt a változók deklarálása nem kötelező (de megtehető a var kulcsszó segítségével, típus megadása nélkül) a változók neve betűvel vagy a ( ) karakterrel kell kezdődjön a globális változók hatóköre deklarálásuktól (első használatuktól) a HTML oldal bezárásáig tart

függvények function fuggvenynev (valtozo1, valtozo2,...) {... return(ertek ) // nem kötelező } meghívhatóak a HTML oldal bármely pontjáról egy esemény bekövetkeztekor deklarálása a head elemben ajánlott

Objektumok, tömbök használata tömb létrehozása az Array beépített objektum segítségével: var sorozat=new Array(); sorozat[0]="páros"; sorozat[1]="páratlan"; var sorozat=new Array("páros","páratlan") a JavaScipt tömbök tulajdonképpen index-el ellátott mezőkkel rendelkező objektumokként vannak tárolva általános objektum létrehozása var obj=new Object(); // létrejön egy üres objektum a mezőket hozzáadhatjuk menet közben (ha eddig nem volt ilyen mező, érték-hozzárendeléskor automatikusan létre lesz hozva): obj.nev="móricka" obj.eletkor=21 a mezőkre az alábbi szintaxissal is hivakozhatunk ( tömb jelleg ): obj[ nev ]="Móricka" előny: a szögletes zárójelen belül használhatunk kifejezést is

új függvény hozzáadása az objektumhoz: inline módon: obj.hanyeves=function(){ alert(this.nev+" "+this.eletkor+" eves") } előzőleg definiált függvény hozzáadása: function koszon(){ alert("szia "+this.eletkor) }... obj.koszon=koszon // vigyázat, nem obj.koszon=koszon()

alobjektum hozzárendelése az objektumhoz: var mylibrary= new Object(); mylibrary.books=new Array(); mylibrary.books[0]=new Object(); mylibrary.books[0].title="kétévi vakáció"; mylibrary.books[0].authors=new Array(); var vernegyula=new Object(); vernegyula.name="jules Verne"; vernegyula.foglalkozas="ifjúsági regényíró"; mylibrary.books[0].authors[0]=vernegyula;... bonyolultabb struktúra felépítése kissé nehézkes... gyorsabb megoldás: JSON (JavaScript Object Notation)

JSON JavaScript Object Notation tömb esetén mylibrary.books=[konyv1, konyv2, konyv3] objektum esetén (kapcsos zárójelben felsorolt kulcs:érték párosok): mylibrary.books={ mese : konyv1, regeny : konyv2, zoldsegpucolo: konyv3 } komplex objektumhierarchia építhető fel ilyen módon a mezőknek való értékadáskor kifejezést is haszálhatunk (dinamikus tartalom)

JSON függvény-mező megadása egy objektumnak: var barkacskonyv={ cim: "Csinald magad "+kotetszam+". kotet", szerzok:[{nev:"valaki",ev:25},{nev:"barki", ev:50}], megj: function(hossz){ if(!hossz){hossz=10} var szov=this.cim+", "+this.szerzok[0].nev+" konyve n" for(i=0; i<hossz;i++){ szov+="a" } szov+="gyon unalmas!" alert(szov); } }... barkacskonyv.megj(5) a JSON jelölés illetve egyszerű JavaScipt használata kiegészíthetik egymást

Saját objektum létrehozása Saját objektum létrehozása konstruktor -szerű függvény segítségével: function MyObject(name, size){ this.name=name this.size=size } később ennek segítségével létrehozhatjuk a MyObject típusú objektumot: var myobj= new MyObject("nadragszij","5m"); alert("a(z) "+myobj.name+" merete "+myobj.size); a konstruktoron belül bármilyen mezőt rendelünk hozzá a this-hez, az elérhető lesz az objektum mezőjeként

Saját objektum + függvény függvény-típusú mező hozzáadása az objektumhoz a prototype (az objektumokhoz rendelt speciális mező) segítségével ajánlott MyObject.prototype.tellSize=function(){ alert("a(z) "+this.name+" merete "+this.size) }... var myobj= new MyObject("nadragszij","5m"); myobj.tellsize() példák Objektum JSON.htm, SajatObjektum.htm, SajatObjektum fuggvenymezo.htm, SajatObjektum prototype.htm Objekum mezőinek végigjárása for in ciklus segítségével: mezovegigjaras.htm

JavaScript események JavaScript események: a JavaScript által felismert történések dinamikus (időben változó tartalmú) HTML oldalak létrehozását teszik lehetővé minden egyes HTML elemhez vannak hozzárendelt események, melyek hatására JavaScript függvényt futtathatunk le a HTML tag-ben adjuk meg ezeket: pl. <input type="button" value="megnyom" onclick="gombnyomas()">

JavaScript események néhány esemény (XHTML esetén csupa kisbetűvel kell írni): onload, onunload: oldal vagy kép betöltése, oldal elhagyása (pl. böngésző típusának ellenőrzése, sütik tárolása) lásd: informaciok.htm, cookie.htm onclick (tipikusan gombnyomás vagy más HTML elemre -pl. kép- való kattintásra meghívunk egy JavaScript függvényt) onfocus, onblur, onchange (pl. form elem értékének ellenőrzése, ha változott a tartalma) onsubmit (pl. a form összes adatainak ellenőrzése a szerverre való küldés előtt) onmouseover, onmouseout (pl. animált gombok)

Egyéb JavaScript beépített objektumok Navigator információ a kliens böngészőjéről (window.navigator) mezők: navigator.appname (böngésző típusa), navigator.appversion (böngésző verziószáma) Screen információ a kliens képernyőjéről (window.screen) mezők: screen.width (képernyő szélessége), screen.height (magassága)

Egyéb JavaScript beépített objektumok String minden string típusu változó tképpen String típusú objektum a JavaScriptben mező: length metódusok: touppercase(), tolowercase(); substring(), charat(), indexof(); tostring() (szám átalakítása String-é) Date dátum/idő beálĺıtás/lekérdezés objektum létrehozása: birthday = new Date(); birthday = new Date("June 20, 1996 08:00:00"); metódusok: setdate(), getdate(), set/get: Month Year Time Hours Minutes Seconds Math automatikusan létre van hozva (explicit Math objektum létrehozása nélkül használható) metódusok: kerekítés ceil(), floor(), round(); véletlenszám generálás (0 és 1 között) random()