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

Hasonló dokumentumok
Kliens oldali script nyelvek - JavaScript

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

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

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

HTML, Javascript és az objektumok

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

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.

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 AJAX. AJAX: Asynchronous JavaScript and XML. az alábbi technológiákon alapul: AJAX-ot támogató keretrendszerek

AJAX-ot támogató keretrendszerek

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

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

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

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

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

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

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

Jquery. Konstantinusz Kft.

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

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

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

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

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

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

A C# programozási nyelv alapjai

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

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

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

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

BASH script programozás II. 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.

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.

Informatika terméktervezőknek

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

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

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

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

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

Szoftvertechnológia alapjai Java előadások

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

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

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

Webszolgáltatások (WS)

Komputeralgebra rendszerek

Ú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ó

Komputeralgebra rendszerek

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

MATLAB alapismeretek II.

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

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

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

Flex: csak rugalmasan!

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

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

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

Internet technológiák

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

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

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

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

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

AWK programozás Bevezetés

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

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

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.

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Ö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

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

Szkriptnyelvek. 1. UNIX shell

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

Webes alkalmazások fejlesztése

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

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

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

Átírás:

Áttekintés Kliens oldali script nyelvek - JavaScript Bevezetés HTML DOM JavaScript beszúrása JavaScript szintaxis JavaScript események Egyéb JavaScript beépített objektumok 1 / 26 2 / 26 JavaScript JavaScript amit nyújt: 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) 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 3 / 26 4 / 26

HTML Document Object Model DOM 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 DOM objektum modell részei (alap, HTML DOM, XML DOM) a DOM a HTML dokumentumnak egy fa-szerkezetet feleltet meg. Csomópont típusok: 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 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(id), getelementsbytagname(name) 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 5 / 26 DOM <html> <head> <title>my title</title></head> <body> <a href="...">my link</a> <h1>my header</h1> </body> </html> 6 / 26 egy csomópont standard mezői: információt nyújtanak az illető csomópontról nodename (read only) 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 (read only) csomópont típusa megj.: egy-egy csomópont számos más mezővel is rendelkezik egy x csomópont metódusai (néhány pl.): x.getelementbyid(id) adott azonosítójú elem x.getelementsbytagname(name) megadott elemnévvel rendelkező elemek listája x.appendchild(node) csomópont hozzáadás x.removechild(node) csomópont törlés 7 / 26 8 / 26

DOM (JavaScript) objektumok DOM (JavaScript) objektumok window a JavaScript hierarchiában a legfelső szinten levő objektum. A böngészőablaknak felel meg (nem standard...). kollekció: frames[] mezők: document, history, location; (outerheight, outerwidth); 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) 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 9 / 26 10 / 26 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, referrer, title, URL, (lastmodified) metódusok: getelementbyid(), getelementsbytagname(), getelementsbyname(), 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 infó HTML DOM referencia, hivatalos W3C oldal 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 11 / 26 12 / 26

a nyelv szintaxisa 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 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 13 / 26 14 / 26 Objektumok, tömbök használata 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 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 15 / 26 16 / 26

ú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) 17 / 26 18 / 26 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 19 / 26 20 / 26

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 21 / 26 22 / 26 JavaScript események JavaScript események néhány esemény (XHTML esetén csupa kisbetűvel kell írni): 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()"> 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) 23 / 26 24 / 26

Egyéb JavaScript beépített objektumok 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) String minden string típusú változó tulajdonké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() 25 / 26 26 / 26