Documente Academic
Documente Profesional
Documente Cultură
Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
URL
URL (Uniform Resource Locator) adreseaz unic resurse
informaionale stocate n locaiile unei reele i au forma unor
iruri de caractere ce permit identificare e transparent
utilizatorului datorit interfeei browserelor.
URL au forma:
serviciu :// nume-gazd.subdomeniu.domeniu: port / cale-director
Elementele componente:
Tipul resursei (adic protocolul folosit pentru transferul ei prin
reea);
Numele serverului pe care se afl resursa (opional i portul prin
care ea poate fi accesat);
Calea resursei (folosit de server pentru a localiza resursa);
Parametrii ce se transmit resursei ca ir de caractere;
]
[1]
URL(2)
[1]
Protocoale
TCP (Transmission Control Protocol) este folosit pentru transmisia
datelor de la o aplicaie la reea.
IP (Internet Protocol) se ocup cu comunicaia ntre calculatoare si
este responsabil cu trimiterea pachetelor de date prin Internet.
HTTP (Hyper Text Transfer Protocol) se ocup cu comunicaia ntre
un web server i un browser web. Acesta este folosit pentru a trimite
cereri de la un web client (un browser) la un web server, trimind
napoi coninut web (pagini web) de la server la client.
HTTPS (Secure HTTP) asigur o comunicaie sigur ntre un web
server si un web browser.
Protocolul SSL (Secure Sockets Layer) este util la criptarea datelor
pentru a asigura o transmisie sigur a acestora.
FTP (File Transfer Protocol) asigur transmisia de fiiere ntre
calculatoare.
]
[1]
Protocoale (2)
SMTP (Simple Mail Transfer Protocol) este folosit la transmiterea de
e-mail-uri.
Protocolul MIME (Multi-purpose Internet Mail Extensions)
permite SMTP-ului s transmit fiiere multimedia, incluznd date de
tip voce, audio si binare prin reele TCP/IP.
IMAP (Internet Message Access Protocol) permite stocarea i
obinerea e-mail-urilor.
POP (Post Office Protocol) este folosit pentru a descarca e-mail-uri
de pe un server de e-mail pe un calculator personal.
DHCP (Dynamic Host Configuration Protocol) este folosit pentru
alocarea dinamic a adreselor IP pentru calculatoarele dintr-o reea.
SNMP (Simple Network Management Protocol) permite
administrarea calculatoarelor dintr-o reea.
ICMP (Internet Control Message Protocol) se ocup cu tratarea
erorilor dintr-o reea.
]
[1]
Protocoale (3)
FTP dedicate:
SmartFTP Client (32-bit)
CuteFTP
FTP Voyager
WS_FTP Professional
Core FTP LE
Filezilla
WAP (Wireless Application Protocol) - protocolul pentru aplicaii mobile
WAP definete WAE (Wireless Application Environment) un mediu de
aplicaii mobile
Aplicaiile sunt fi scrise n limbaj de marcare mobil WML (Wireless
Markup Language), un subset al limbajului de marcare extensibil
XML(eXtensible Markup Language).
Att WML ct i XML respect modelul DOM
]
[1]
[1]
[1]
Plugin-uri
Plugin-uri(sau plug, add-in, addin, add-on, addon sau extensie) difer
prin extensii, care modific, adaug sau extind funcionaliti unui
program existent.
Exemple comune: plug-in-uri folosite n browsere web pentru a aduga
noi caracteristici:
motoare de cutare,
antivirus,
capacitatea de a utiliza nou tip de fiier, cum ar fi un format video nou.
Aplicaiile accept plug-in-uri pentru:
a permite dezvoltatorilor teri s creeze capaciti extinse
a sprijini cu uurin adugarea de noi caracteristici
a reduce dimensiunea unei aplicaii
a separa codul surs dintr-o aplicaie,la licene software incompatibile.
]
[1]
[1]
[1]
[1]
[1]
DOM (2)
Document
Element
Element
<html>
html
Element Element
<head> <body>
Element
Text
legatura header 1
]
[1]
Evenimente DOM
Categorie Tip Atribute Descriere
Apare cnd cu butonul mouse-ului se d click pe un element. Click este
Click onclick definit ca mousedown i mouseup peste aceeai locaie ecran, cu
secvena: mousedown mouseup, click
Dblclick ondblclick Apare cnd cu butonul mouse-ului se d double click peste un element.
Mousedown onmousedown Apare cnd butonul mouse-ului este apsat peste un element.
Mouse
Mouseup onmouseup Apare cnd butonul mouse-ului eliberat
mouseover onmouseover Apare cnd butonul mouse-ului se mut ntr-un element.
Apare cnd butonul mouse-ului se mut n timp ce se afl peste
mousemove onmousemove
unelement.
mouseout onmouseout Apare cnd butonul mouse-ului se mut nafara elementului.
Apare n mod similar cu "clicked" la tastatura. Keypress este definite ca
keypress onkeypress i keydown i keyup pe aceeai tast, cu secvena de evenimente:
Tastatur keydown, keyup, keypress
keydown onkeydown Apare cnd o cheie de pe tastatur este apsat.
keyup onkeyup Apare cnd o cheie de pe tastatur este eliberat.
]
[1]
Evenimente DOM
Categorie Tip Atribute Descriere
Apare cnd se termin ncrcarea ntregului coninut dintr-un document,
load onload
incluznd fereasta, frame, obiect sau imagine.
unload onunload Apare cnd ntreg coninutul dintr-o fereast sau frame este eliberat.
HTML Apare cnd un obiect/imagine ncrcat este oprit nainte de fi complet
abort onabort
frame/ ncrcat.
obiect Apare cnd un obiect/imagine/frame nu poate fi complet/corespunztor
error onerror
ncrcat.
resize onresize Apare cnd un document vizualizat este redimensionat.
scroll onscroll Apare cnd se defileaz ntr-un document vizualizat.
Apare cnd un utilizator selects some text in a text field, including input
select onselect
and textarea.
Apare cnda control loses the input focus and its value has been
change onchange
modified since gaining focus, including input, select and textarea.
submit onsubmit Apare cnd un formular este trimis (submitted).
reset onreset Apare cnd un formular este anulat (reset).
Apare cnd un element este focalizat via mouse, navigare cu tab,
focus onfocus
HTML incluznd label, input, select, textarea, i button.
form Apare cnd un element pierde controlul via mouse, navigare cu tab,
blur onblur
incluznd label, input, select, textarea, i button.
NodeInsertedI onnodeinserte
Apare cnd un nod este inserat n document.
ntoDocument dintodocument
DOMAttrMod
onattrmodified Apare cnd un attribute a fost modificat.
ified
DOMCharacte oncharacterdat
Apare cnd o dat caracter a fost modificat.
rDataModified amodified
]
[1]
BOM
Browser Obiect Model nu este referit n general prin nume ci este acoperit de DOM
In vrful ierarhiei BOM este fereasta obiect (Window), urmat de navigator,
frames, screen, history, location, i obiectele document guvernate de DOM.
Window
(BOM)
Document
Navigator Frames[ ] Location History Screen
(DOM)
[1]
BOM (2)
BOM are un
Window Document
are DOM
are
are are
are iframe
form
object
Location are
history
are fii
screen
HTML Script
object object
navigator object
are
object
[1]
HTML
HTML este:
un limbaj de descriere a coninutului i structurii paginilor web;
un limbaj de marcare format dintr-un set de tag-uri de marcare.
numele de atribute i numele valorilor atributelor sunt case-insensitive.
Istoric HTML:
HTML (1991)
HTML+ (1993)
HTML 2.0 (1995)
HTML 3.2 (1997)
HTML 4.01 (1999)
XHTML (2000)
HTML5 (2012)
XHTML5 (2013)
]
[1]
Tag-uri HTML
cuvinte cheie nconjurate de paranteze unghiulare;
prezente n perechi, tag-ul de nceput <numetag> si
tag-ul de final </numetag> .
[1]
Atribute i valori
Atributele:
sunt coninute n tag-urile HTML;
furnizeaz informaii suplimentare referitoare la elemente HTML;
sunt specificate n eticheta de start;
Orice nume de atribut are atribuit o valoare.
<tag numeatribut = "valoare"> ... </tag>
Valorile atributelor :
Sunt nchise n ghilimele (ghilimele duble - cele mai comune; sunt
permise i simple).
<tag numeatribut1="valoare1" numeatribut2="valoare2"> ... </tag>
Fiecare pereche (atribut, valoare1) este asociat unei proprieti a
obiectului respectiv, conform specificaiilor DOM.
Un atribut special sunt handlerele de evenim1ente:
onEveniment=nume funcie-handler
]
[1]
Atribute HTML
<html>
<head>... </head>
<body>...
corpul documentului </body>
</html>
[1]
[1]
[1]
HTML
HTML5
<!DOCTYPE html>
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
Elementul <head>
este un container pentru toate elementele componente.
elementele ce l compun pot include scripturi, instruciuni browser,
style sheets, meta informaii
]
[1]
Elementul <head>
<title> definete titlul documentului HTML.
<title> Titlul documentului HTML </title>
<link> definete relaii ntre un document i o resurs extern.
<link rel="stylesheet" type="text/css" href="mystyle.css">
<style> definete stilul (style).
<style type="text/css">body {background-color:yellow} p {color:blue}
</style>
<script> este utilizat pentru a defini un script.
<meta> furnizeaz metadata (date, informaii) despre date.
<meta name="keywords" content="HTML, CSS, JavaScript">
<meta name="description" content="Descrierea paginii web">
<meta name="author" content="Daniel Mican">
]
[1]
Tag-uri HTML de marcare structural a textului
]
[1]
[1]
Tipuri de liste
Listele sunt enumerri de item-uri.
Listele pot fi ordonate (<ol>),
neordonate (<ul>) sau liste de
definiii (<dl>) <dl>
<ol> <dt>obiectul</dt>
<li>sisteme de operare</li> <dd>are proprietati</dd>
<li>retele de calculatoare</li> <dt>metoda</dt>
</ol> <dd> poate avea parametri</dd>
</dl>
<ul>
<li>memory stick</li>
<li>tonner</li>
</ul>
]
[1]
Tabele
Atribute:
colspan=x permite ntinderea unei celule pe limea a x celule.
Similar, atribut rowspan=x, pentru ntinderea unei celule pe nlime a x
celule.
margini (border), culoarea lor (bordercolor), dimensiunea tabelului
(width), spaierea intern a textului n celule (cellpadding), spaierea ntre
celule (cellspacing),
alinierea tabelului relativ la textul care l nconjoar (align, hspace, vspace)
]
[1]
Tabele (2)
Exemplu de delimitare tabelar:
<table bordercolor=blue border=5>
<tr>
<td background=imagine.gif>
text celula1 rand1
</td>
<td> text celula2 rand1 </td>
</tr>
<tr>
<td colspan=2>text celula 1 rand 2</td>
</tr>
</table> text celula1 rand1 Text celula2 rand1
text celula1 rand 2
]
[1]
iframe
<iframe src="URL"> </iframe>
Atribute pe care le poate conine tag-ul <iframe>:
src -specifica adresa URL a documentului care va fi incorporat
in <iframe>
srcdoc- specifica continutul HTML al documentului care va fi
incorporat in <iframe>
height -specifica inaltimea unui <iframe>
width- specifica latimea unui <iframe>
Exemple:
<iframe src="demo_iframe.htm style="border:none"></iframe>
<iframe src="demo_iframe.htm" style="border:5px dotted
red"></iframe>
Cadru tinta pentru o legatura:
<iframe src="demo_iframe.htm" name="iframe_a"></iframe>
<p><a href="http://www.w3schools.com"
target="iframe_a">W3Schools.com</a></p>
]
[1]
Evenimente de navigare
Hiperlegturile vor genera evenimente de selecie, de navigare, evenimente
browser care sunt gestionate prin manipulatori (handleri) specifici asociai
unor scripturi de tratare a lor.
[1]
Imagini
[1]
Formulare HTML
au fost introduse n Hypertext pentru asigurarea comunicrii de
informaii n ambele sensuri, ntre client i server.
preiau date ce sunt procesate de ctre scripturi, ceea ce se preteaz
multor activiti cu caracter economic
]
[1]
Tag-ul FORM
<form action="url-al-unui-un-script-aflat-pe-server" method="get||post">
elemente de input
</form>
http://www.econ.ubbcluj.ro/~daniel.mican/script.php?nume=daniel+mican&
email=daniel.mican%40econ.ubbcluj.ro
[1]
Method
[1]
Zone de text
cmpuri de text, care afieaz textul introdus (ecoul): TYPE=text;
parole, care nu dau ecou, pentru limitarea accesului: TYPE=password
cmpuri ascunse, invizibile, ce permit transiterea unor informaii:
TYPE=hidden ;
zone de editare pentru texte mai lungi TYPE="TEXTARREA";
Evenimentele asociate: change la modificri n zona-text, select la
selectarea textului, focus pentru activarea zonei pentru acceptarea de
modificri, blur cnd zona i pierde focusul.
Din raiuni de securitate, zonele-parol nu genereaz evenimente
]
[1]
Parola
<input type="password" name="parola" size="25" maxlength="50 >
Fisier
<input type="file" name="fisier" >
]
[1]
Butonul reset
<input type=reset" value=resetati >
]
[1]
Liste de selectie
<select>
<option value="Garsoniera">Garsoniera</option>
<optgroup label="Apartament">
<option value="1 camera" selected>1 camera</option>
<option value="2 camere">2 camere</option>
</optgroup>
</select>
]
[1]
Obiecte in formulare
Fieldset
<form>
<fieldset>
<legend> Detalii personale: </legend>
Nume: <input type="text" name="nume">
</fieldset>
</form>
Label
<label for="nume">Nume</label>
<input type="text" id="nume" name="nume" size="25" maxlength="50" >
]
[1]
Obiecte in formulare (HTML5)
Date
<input type="date" name="data_eveniment" >
Datetime
<input type="datetime" name="data_ora_eveniment" >
defineste un control de tip data impreuna cu unul de tip timp (an, luna,
zi, ora, minut, secunda, si fractiune de secunda, in functie de fusul orar
UTC ).
Email
<input type="email" name="adresa_email" >
]
[1]
URL
<input type="url" name="adresa_site" >
color
<input type="color" name="culoare">
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
CSS
este un standard W3C pentru definirea prezentrii
documentelor scrise n HTML
definete cum vor fi afiate elemente HTML
este un limbaj distinct cu propria sintax
Stilurile trebuie salvate n fiiere CSS externe
(recomandabil)
funcioneaz prin asocierea unor reguli elementelor HTML
Foile de stil externe permit schimbarea aranjrii i
aspectului tuturor paginilor dintr-un site Web, prin
editarea a unui singur fiier CSS
Stilurile CSS au rezolvat o mare problem i salveaz o
mulime de timp n activitile de rutina in dezvoltare a
site-urilor web
]
[1]
Reguli CSS
[1]
Declaratii (2)
selector {
proprietate1: valoare1;
proprietate2: valoare2; bloc de declaraii
proprietate3: valoare3;
}
Inserarea declaraiilor CSS n cadrul paginilor HTML se
realizeaz in trei moduri:
[1]
Declaratii CSS n foile de stil externe
<head>
<link rel="stylesheet" type="text/css" href="stiluri.css">
</head>
Fiierul stiluri.css conine urmtorul cod CSS:
h1 { color: red; }
p { color: blue; }
]
[1]
Declaratii CSS
Declaratii CSS in foaia de stil interna este utilizata doar atunci cand o
singura pagina HTML are un stil unic.
Elementul de stil trebuie sa fie plasat in sectiunea <head> a unei pagini
HTML, cu ajutorul tag-ului <style>.
<head>
<style>
h1 { color: red; }
p { color: blue; }
</style>
</head>
Declaratii CSS inline in interiorul unui element HTML folosind atributul style.
Proprietatile si valorile se aplica doar elementului in care au fost definite.
(De evitat!)
h1 style = "color: red"> Titlu </h1>
[1]
Selectori CSS
p.azorel {}
Se aplic doar elementelor <p> al cror atribut class este egal cu azorel
]
[1]
Selectori CSS (2)
Selectorul ID - se aplic unui element al crui atribut id-ul are o valoare
care se potrivete cu cel specificat dup simbolul # (diez)
#cnp {}
Se aplic elementului a crui atribut id este egal cu cnp
[1]
<html>
<head>
<title>Exemplu de agregare in cascada a stilurilor</title>
<link rel="stylesheet" type="text/css" href="stilulmeu.css">
<style>
h1{color: red;}
p{color: blue;}
</style>
</head>
<body>
<h1 style="color: indigo">Titlu</h1>
<p style="color: violet">Paragraf</p>
</body>
</html>
h1{color: green;}
p{color: orange;}
<html>
<head>
<title>Exemplu de specificitate si prioritate</title>
<style>
* { color: blue; }
h1 { color: purple; }
p b { color: violet; }
b { color: orange; }
b { color: red; }
p { color: chocolate; }
p#abstract{ color: green; }
</style>
</head>
<body>
<h1>Titlu</h1>
<p id="abstract">Acesta este un <b>abstract</b></p>
<p>Acesta este un text dintr-un paragraf</p>
Acesta e un text <b>oarecare</b>
</body>
</html
Motenirea in CSS
Motenirea se poate folosi pentru a crea un avantaj atunci cnd scriem
foile de stil.
Exemplu: dac dorim ca toate elementele de tip text s fie formatate cu
fontul Verdana avem dou opiuni:
Sa scriem declaraii pentru fiecare element din cadrul
documentului HTML i s setm proprietatea font-face astfel nct
textul s fie formatat cu Verdana
s scriem o singur regul de stil prin care s se aplice proprietatea
font-face la elementul <body>, iar toate elementele de tip text
incluse n elementul <body> s moteneasc acel stil
nu toate proprietatile CSS sunt mostenite.
Proprietatile legate de stilul, dimensiunea textului, fontul, culoarea,
etc, sunt transmise si la elementele continute. Proprietati ca bordura
unui element, marginile, fundalurile, etc, (zona din jurul elementului)
tind sa nu fie transmise.
<html>
<head>
<title>Exemplu de mostenire</title>
<style>
body {
font-family: Arial, Verdana, sans-serif;
font-weight: bold;
color: blue;
background-color: yellow; }
.cutie {
color: white;
background-color: green;
border: 1px solid red; }
.cutiutza {
color: gold; }
</style>
</head>
<body>
<div>
<p>Mostenesc de la body fontul, proprietatea bold si culoarea albastra</p>
</div>
<div class="cutie">
<p>Mostenesc de la body fontul si proprietatea bold. Dar am culoarea alba, culoarea de fundal verde si
bordura rosie.</p>
<div class="cutiutza">
<p>Mostenesc de la body fontul si proprietatea bold. Am culoarea aurita, dar mostenesc culoarea de
fundal verde de la cutie. Bordura nu se mosteneste.</p>
</div>
</div>
</body>
</html>
Formatarea culorilor
Culorile pot fi specificate prin:
1. Nume de culori
2. valorilor RGB
3. coduri hexa zecimale
16 nume de culori standard, in HTML 4.01
adoptate de CSS1 si CSS2
Cele 16 culori standard: Aqua ; black ; blue;
fuchsia gray ; green; lime; maroon ; navy; olive;
purple; Red; silver; teal; white; yellow
CSS3 adauga suport pentru un set extins 140 de nume de
culori.
Culori
modelul de culori RGB): rosu,
verde si albastru.
rgb (0-255, 0-255, 0-255)
#RRGGBB
[1]
Box Model
Fiecare element de structura din cadrul unei pagini Web poate fi asimilat ca o
cutie/caseta (box) definita prin urmatoarele proprietati:
Margin permite stabilirea unei zone libere transparente in exteriorul
bordurii
Border permite adaugarea unei borduri in jurul elementului luat in
considerare
Padding permite stabilirea unei zone libere transparente in interiorul
bordurii
Content permite introducerea unui continut in cadrul elementului
]
[1]
Proprietatea border-width
[1]
[1]
Proprietatea margin
Putem specifica margini diferite pentru cele patru valori intr-o singura
proprietate.
Valorile vor aparea in sensul acelor de ceasornic: sus, dreapta, jos, la
stanga.
]
[1]
Proprietatea padding
permite stabilirea unei zone libere transparente in interiorul bordurii.
Aceasta zona este afectata de culoarea de fundal al
elementului.
Putem controla spatierea individuala din exteriorul casetei utilizand 4
proprietati distincte:
1. padding-top - specifica spatierea din interior in partea de sus
2. padding-right - specifica spatierea din interior in partea dreapta
3. padding-bottom - specifica spatierea din interior in partea de jos
4. padding-left - specifica spatierea din interior in partea stanga
Putem specifica spatieri diferite pentru cele patru valori intr-o singura
proprietate.
Valorile vor aparea in sensul acelor de ceasornic: sus, dreapta, jos,
stanga.
]
[1]
Dimensionarea casetelor
<html>
<head>
<style>
div
{
width: 210px;
padding: 15px;
border: 15px solid gray;
margin: 15px;
}
</style>
</head>
<body>
<img src="poza.png">
<div>Poza de deasupra e lata de 300px. Latimea acestui element:<br> 210
(latime)
+<br>30 (2*15 padding) +<br>30 (2*15 bordura) +<br>30 (2*15 margine) =
<br>300px.</div>
</body>
</html>
]
[1]
[1]
Limitarea dimensiunii casetelor (2)
<html>
<head>
<style>
.adaptabil {
background-color: gold;
min-width: 400px;
max-width: 600px;
padding: 10px; }
</style>
</head>
<body>
<div class="adaptabil">Acest div se redimensioneaza in functie de
rezolutia ecranului.<p>
Dimensiunea minima este de 400px, iar cea maxima de 600px.
Textul de pe prima linie nu
va fi afectat de redimensionare.</div>
</body>
</html>
]
[1]
Proprietatea border-style
permite controlarea stilului bordurilor prin valorile:
none Valoare implicita. Specifica sa nu se afiseze nici o bordura.
dotted Specifica o bordura punctata
dashed Specifica o bordura cu linii
solid Specifica o bordura continua
double Specifica o bordura dubla
Specifica o bordura 3D de tipul groove. Efectul depinde de valoarea culorii
groove
bordurii.
ridge Specifica o bordura 3D de tipul ridge. Efectul depinde de valoarea culorii bordurii.
inset Specifica o bordura 3D de tipul inset. Efectul depinde de valoarea culorii bordurii.
Specifica o bordura 3D de tipul outset. Efectul depinde de valoarea culorii
outset
bordurii.
initial Stabileste aceasta proprietate la valoarea implicita.
inherit Mosteneste aceasta proprietate din elementul sau parinte.
]
[1]
Proprietatea border-style -Exemple
<html>
<head>
<style>
*{ margin:10px; }
.solid { border-style: solid; }
.dotted { border-style: dotted; }
.dashed { border-style: dashed; }
.double { border-style: double; }
.groove { border-style: groove; }
.ridge { border-style: ridge; }
.inset { border-style: inset; }
.outset { border-style: outset; }
</style>
</head>
<body>
<div class="solid">Eu am bordura solid</div>
<div class="dotted">Eu am bordura dotted</div>
<div class="dashed">Eu am bordura
dashed</div>
<div class="double">Eu am bordura double</div>
<div class="groove">Eu am bordura groove</div>
<div class="ridge">Eu am bordura ridge</div>
<div class="inset">Eu am bordura inset</div>
<div class="outset">Eu am bordura outset</div>
</body>
]
[1]
Proprietatea border-color
[1]
Proprietatea border-color -Exemple
<html>
<head>
<style>
div {
border: 15px solid;
border-color: red gold blue green; }
</style>
</head>
<body>
<div>Valorile de aici apar in sensul acelor de ceasornic: sus, dreapta,
jos, stanga</div>
</body>
</html>
]
[1]
Centrarea casetelor -Exemple
<html>
<head>
<style>
div {
width: 300px;
margin: auto;
border: 10px solid gold; }
</style>
</head>
<body>
<div>Acest div este centrat, iar textul aliniat la stanga.</div>
</body>
</html>
Afisarea si ascunderea elementelor
Proprietatea display permite transformarea unui element
de tip inline intr-un element de tip bloc sau invers,
poate fi folosit pentru a ascunde un element din pagina.
Valorile pe care le poate lua:
inline - determina ca un element de tip block sa actioneze ca
un element de tip inline.
block - determina ca un element de tip inline sa actioneze ca
un element de tip block.
inline-block - determina ca un element de tip block sa fie
afisat ca un element de tip inline, pastrand in acelasi timp
celelalte caracteristici ale unui element de tip block.
none - in cazul in care se seteaza aceasta valoare se va
ascunde un element din pagina. In acest caz, elementul
actioneaza ca si cum aceasta nu ar fi continut deloc in cadrul
paginii.
Afisarea si ascunderea elementelor (2)
Un element de tip block este un element care ocupa intreaga latime
disponibila si are un sfarsit de linie inainte si dupa.
Exemple de elemente de tip block: <h1>, <p>, <div>, <ul>, <li>.
Un element de tip inline este un element care ocupa atata latime cat este
necesar, si nu forteaza un sfarsit de linie inainte sau dupa.
Exemple de elemente de tip inline : <span>, <img>, <a>.
[1]
HTML5
HTML5 a aprut n 2012 din necesitatea de a extinde
funcionalitile i dinamismul paginilor Web.
este o cooperare dintre World Wide Web Consortium
(W3C) i Web Hypertext Application Technology Working
Group (WHATWG).
integreaz noi faciliti dintre care :
<canvas> pentru desene 2D
<video> i <audio> pentru media playback
suport pentru memorare local
coninut specific al elementelor: <article>, <footer>,
<header>, <nav>, <section>
noi controale ale formularului: calendar, date, time, email,
url, search
noi elemente Semantice/Structurale
]
[1]
HTML5 (2)
Avantajele HTML5 :
Faciliti noi bazate pe HTML, CSS, DOM, i JavaScript
Reducerea nevoii de plugins externe (Flash)
Manipularea bun a erorilor
Marcatori de nlocuire a scripturilor
Elemente (din HTML 4.01) la care s-a renunat n HTML5 :
<acronym>, <applet>, <basefont>, <big>, <center>, <dir>,
<font>, <frame>, <frameset>, <noframes>, <strike>, <tt>
In HTML5 apare o singur declaraie <!doctype>, simpl:
<!DOCTYPE html>
]
[1]
[1]
[1]
Elemente HTML5
Elemente Form, pentru a extinde funcionalitatea:
<datalist> Specific o list de opiuni pre-definite
pentru controale input
<keygen> Definete generator de cmp ca perechi de chei
(pentru formulare)
<output> Definete rezultatul calculelor
Elemente Media
<audio> Definete coninut sound
<video> Definete un video sau film (movie)
<source> Definete media resurse multiple pentru <video> i
<audio>
<embed> Definete un container pentru aplicaii externe sau
coninut interactiv (plug-in)
<track> Definete text tracks pentru <video> i <audio>
]
[1]
Elementul <audio>
]
[1]
[1]
Elementul <video>
]
[1]
[1]
[1]
[1]
[1]
[1]
[1]
Elemente DOM n formulare (3)
Atributul form <input> form specific dac mai multe formulare au n comun elementul <input>.
Pentru a referi mai multe formulare, se utilizeaz spaii ce separ lista de id a formularelor.
Exemplu
<form action="demo_form.asp" id="form1">
First name: <input type="text" name="fname"><br>
<input type="submit" value="Submit">
</form>
Last name: <input type="text" name="lname" form="form1">
Cmpul lname aparine formularului form1.
Atributul formaction <input> specific URL-ul unui fiier ce va procesa controlul intrrilor cnd
formularul este submis. Acesta suprascrieaciunea atributului din elementul <form>.
Atributul formaction este utilizat cu type="submit" i type="image".
Exemplu
Un formular HTML cu 2 butoane submit , cu diferite aciuni:
<form action="demo_form.asp">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit"><br>
<input type="submit" formaction="demo_admin.asp"
value="Submit as admin">
</form>
]
[1]
Elemente DOM n formulare (4)
Atributul formenctype <input>
specific modul n care datele din form vor fi codificate la trimiterea pe
server (doar n formulare cu method="post").
suprascrie aciunea atributului din elementul <form>.
este utilizat cu type="submit" i type="image".
Exemplu
Se trimit date din form codificate implicit (primul submit button), i apoi
codificate ca "multipart/form-data" (al doilea submit button):
[1]
Elemente DOM n formulare (5)
Atributul formmethod <input>
Definete metoda HTTP de trimitere a datelor din form action la URL.
Suprascriea ciunea atributului din elementul <form>.
formmethod este utilizat cu type="submit" i type="image".
Exemplu
Buttonul al doilea submit suprascrie (post ) metoda HTTP din form
(get) :
<form action="demo_form.asp" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
<input type="submit" formmethod="post"
formaction="demo_post.asp"
value="Submit using POST">
</form>
]
[1]
Elemente DOM n formulare (6)
Atributul formnovalidate <input>specific dac elementul <input> trebuie
validat cnd este submis.
valori Boolean, suprascrie aciunea atributului din elementul <form>.
este utilizat cu type="submit".
Exemplu
Apar 2 butoane submit (cu i fr validare):
<form action="demo_form.asp">
E-mail: <input type="email" name="userid"><br>
<input type="submit" value="Submit"><br>
<input type="submit" formnovalidate value="Submit without validation">
</form>
Atributul formtarget <input> specific un nume sau cuvnt cheie (keyword) ce
indic unde va fi afiat rspunsul primit dup trimiterea formularului.
Suprascrie aciunea atributului din elementul <form>
este utilizat cu type="submit" i type="image".
Exemplu
<input type="submit" formtarget="_blank value="Submit to a new window>
]
[1]
Elementul <output>
reprezint rezultatul calculelor (ca i cum sunt executate de un script).
Exemple
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" name="a" value="50">100 +
<input type="number" name="b" value="50">=
<output name="x" for="a b"></output>
</form>
]
[1]
Elemente DOM
Elementul <input type="number">
[1]
Elemente DOM
Elementul <input type="range">
<!DOCTYPE html>
<html>
<body>
<form oninput="ales.value=parseInt(alege.value)">
1 <input type="range" id="alege" min="1" max="10" value="5"> 10
<input type="text" name="ales" size="3">
</form>
</body>
</html>
]
[1]
Atribute in formulare
Atributul placeholder
<form action="script. php">
<input type="text" name="prenume" size="25"
maxlength="50"
placeholder="prenume" /><br>
<input type="text" name="nume" size="25" maxlength="50"
placeholder="nume" /><br>
<input type="submit">
</form>
Atributul required
<form action="script.php">
<input type="text" name="prenume" size="25"
maxlength="50" placeholder="prenume"
required="required" /><br>
<input type="text" name="nume" size="25" maxlength="50"
placeholder="nume"
required="required"/><br>
<input type="submit">
</form
]
[1]
[1]
[1]
Elemente semantice (3)
Elementul <header> specific un antet de document sau sectiune.
este utilizat ca i container pentru introducere. Pot exista cteva elemente
<header> ntr-un document.
<article>
<header>
<h1> Elemente semantice</h1>
<p> rol</p>
</header>
<p>Scopul acestor elemente este structurarea mai buna a documentelor Web.</p>
</article>
Elementul <footer> specific subsolul de document sau sectiune i poate
conine informaii despre elementele componente.
conine de obicei autorul documentului, copyright, legturi la termini de
utilizare, informaii de contact, etc. Pot exista cteva elemente <footer> ntr-un
document.
<footer>
<p>Posted by: Pop Ion</p>
<p>Contact information: <a href="mailto:popion@example.com">
popion@example.com</a>.</p>
</footer>
]
[1]
[1]
[1]
HTML4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML5<!DOCTYPE html>
HTML4
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
HTML5
<meta charset="utf-8>
]
[1]
HTML4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML5<!DOCTYPE html>
HTML4
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
HTML5
<meta charset="utf-8>
]
[1]
Migrarea la HTML5 (2)
HTML4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML5<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta charset="utf-8">
Stiluri CSS pentru elemente semantice HTML5:
header,footer,section,article {
border:1px solid grey;margin:5px;margin-
bottom:15px;padding:8px;background-color:white;
}
header,footer {
color:white;background-color:#444;margin-bottom:5px;
}
section {
background-color:#ddd;}
nav ul {
margin:0;padding:0; }
nav ul li {
display:inline; margin:5px;}
]
[1]
Migrarea la HTML5 (3)
Modificarea elementelor <div> cu id="header" si id="footer":
<header>
<h1> HTML5</h1>
</header>
<footer>
<p>© 2016 </p>
</footer>
Modificarea elementelor <div> cu id="menu":
<div id="menu">
<ul>
<li>News</li>
<li>Sports</li>
<li>Weather</li>
</ul>
</div>
HTML5 semantic elementul <nav>:
<nav>
<ul>
<li>News</li>
<li>Sports</li>
<li>Weather</li>
</ul>
</nav>
]
[1]
Migrarea la HTML5 (4)
Se schimb elementul <div> cu id="content":
<div id="content">
</div>
HTML5 semantic elementul <section>:
<section>
/section>
Se schimb toate elementele <div> cu class="post":
<div class="post">
<h2>News Article</h2>
<p>Continut articol
</p>
</div>
HTML5 semantic elementele <article> :
<article>
<h2>News Article</h2>
<p> Continut articol
.</p>
</article>
]
[1]
Migrarea la HTML5 (5)
Exemplu: <section>
<!DOCTYPE html> <h2>News Section</h2>
<html lang="en">
<title>HTML5</title
<article>
>
<meta charset="utf- <h2>News Article</h2>
8"> <p><Primul articol.</p>
<style></style> </article>
<body> <article>
<header> <h2>News Article</h2>
<h1>Pagina <p><Al doilea articol.</p>
Exemplu</h1> </article>
</header>
<nav>
<ul> </section>
<li>News</li>
<li>Item2</li> <footer>
<li>Item3</li> <p>&copy.</p>
</ul> </footer>
</nav>
</body>
</html>
]
[1]
Migrarea la HTML5 (6)
<html>
<head>
<style>
header, footer, aside, article {
border: 1px solid violet;
background-color: #efefef;
margin: 5px;
padding: 5px;
display: block;}
#caseta {
width: 904px;
margin: auto;
border: 1px solid grey; }
article {
float: left;
width: 630px; }
aside {
float: left;
width: 230px; }
footer {
clear: left; }
</style>
</head>
<body>
<div id="caseta">
<header>Antet</header>
<aside>Meniu</aside>
<article>Zona de continut</article>
<footer>Subsol</footer>
</div>
</body>
</html>
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
Drag and drop este parte a standardului HTML5, orice element poate fi
draggable.
]
[1]
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<div id="div1" ondrop="drop(event)"
ondragover="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true ondragstart="drag(event)" width="336" height="69">
</body>
</html>
<script>
]
[1]
Elemente CSS3
Specificaiile CSS3 sunt dezvoltate de W3C, multe proprieti
CSS3 au fost implementate n browsere moderne.
CSS3 este perfect compatibil cu versiuni anterioare, suport
CSS2.
este divizat n "module".
Cele mai importante module CSS3 sunt:
Selectors
Box Model
Backgrounds and Borders
Text Effects
2D/3D Transformations
Animations
Multiple Column Layout
User Interface
]
[1]
Proprietatea border-radius
Folosind CSS3 se pot crea borduri rotunjite, aduga umbre, se pot folosii
magini ca bordura, fr a utiliza programe de design, ca i Photoshop.
Proprieti border:
border-radius
box-shadow
border-image
border-radius
permite adaugarea de colturi rotunjite la borduri.
Putem controla fiecare colt al casetei utilizand patru proprietati distincte:
border-top-right-radius - defineste forma bordurii din coltul dreapta sus
border-bottom-right-radius - defineste forma bordurii din coltul dreapta jos
border-bottom-left-radius - defineste forma bordurii din coltul stanga jos
border-top-left-radius - defineste forma bordurii din coltul stanga sus
Putem specifica, margini si spatieri diferite pentru cele patru valori intr-o singura
proprietate. Valorile vor aparea in sensul acelor de ceasornic: sus, dreapta, jos,
stanga.
]
[1]
Proprietatea border-radius
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 250px;
background: #FFFF99;
padding: 10px 30px 10px 30px;
border-radius: 5px;
border: 1px solid #9933FF; }
div.deosebit {
border-top-left-radius: 1em;
border-top-right-radius: 3em;
border-bottom-right-radius: 2em;
border-bottom-left-radius: 4em; }
</style>
</head>
<body>
<div>Acest text se afla in cadrul unui DIV</div><p>
<div class="deosebit">Acest text se afla in cadrul unui DIV ce contine o formatare mai
deosebita</div>
</body>
</html>
]
[1]
Proprietatea box-shadow
permite adaugarea unei umbre in jurul casetelor
[1]
Proprietatea box-shadow
<!DOCTYPE html>
<html>
<head>
<style>
*{ padding:10px; }
h1{ box-shadow: 2px 2px 5px
#FF33CC; }
span{ box-shadow: inset 0px 0px
10px #3366CC; }
</style>
</head>
<body>
<h1>Acest text se afla in cadrul
H1</h1>
<span>Acest text se afla in cadrul
unui SPAN</span>
</body>
</html>
]
[1]
Proprietatea background-origin
[1]
Proprietatea background-origin
<html>
<head>
<style>
div {
border: 25px dashed #0099FF;
padding: 35px;
background-image: url('sigla.gif');
background-repeat: no-repeat;
background-position: left; }
#div1 { background-origin: border-box; }
#div2 { background-origin: padding-box; }
#div3 { background-origin: content-box; }
</style>
</head>
<body>
<div id="div1">Sunt in bordura</div><p>
<div id="div2">Sunt in padding</div><p>
<div id="div3">Sunt in continut</div><p>
</body>
</html>
]
[1]
Proprietatea text-shadow
permite adaugarea unei umbre la text.
]
[1]
Proprietatea text-shadow
<!DOCTYPE html>
<html>
<head>
<style>
h1 { text-shadow: 3px 3px 3px #9999FF; }
</style>
</head>
<body>
<h1>Textul acesta are o umbra</h1>
</body>
</html>
]
[1]
Proprietatea word-wrap
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 350px;
border: 1px solid #9999FF; }
.divwrap { word-wrap: break-word; }
</style>
</head>
<body>
<div>Acest paragraf contine un cuvant foarte lung
acestcuvantestefoartelungsitrebiedespartitpentrucasanudeformezetemplate
ul.
Cuvantul de mai sus nu se rupe si iese in afara divului.</div><p>
<div class="divwrap">Acest paragraf contine un cuvant foarte lung
acestcuvantestefoartelungsitrebiedespartitpentrucasanudeformezetemplate
ul.
Cuvantul de mai sus se rupe si continua pe urmatoarea linie.</div>
</body>
</html>
]
[1]
Proprietatea @font-face
<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
font-family: fontul_meu;
src: url(fontul_meu.ttf); }
h1 { font-family: fontul_meu; }
</style>
</head>
<body>
<h1>Acest text arata mult mai bine scris cu fontul fontul
meu personalizat</h1>
</body>
</html>
]
[1]
Proprietatea opacity
<!DOCTYPE html>
<html>
<head>
<style>
a:link { color: blue; }
a:hover {
color: blue;
opacity: 0.5; }
</style>
</head>
<body>
<a href="#">La mouse over opacitatea e la 50%</a>
</body>
</html>
CSS3
Font Descriptors
font-family Name Required. Definete numele fontului
src URL Definete URL pentru font file
font-stretchnormal, condensed ,ultra-condensed, extra-condensed, semi-
condensed, expanded, semi-expanded, extra-expanded, ultra-expanded
User Interface
In CSS3, apar faciliti noi de interfa user: redimensionarea elementelor, a
chenarelor,etc.
Proprieti
resize
box-sizing
outline-offset
CSS3
CSS3 Resizing Elementul div este redimensionabil de utilizator (n Firefox 4+, Chrome, i Safari).
div
{
resize:both;
overflow:auto;
}
CSS3 Box Sizing permitedefinirea elementelor certe pentru a fixa zona.
div
{
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
width:50%;
float:left;
}
CSS3 Outline Offset deseneaz n spatele marginii border i difer de border: Outlines nu ia
dinspaiu si poate fi non-rectangular
div
{
border:2px solid black;
outline:2px solid red;
outline-offset:15px;
}
Proprieti: appearance, box-sizing, icon, nav-down, nav-index, nav-left, nav-right, nav-up, outline-
offset, resize
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
Java Script - Rol i funcionalitate
[1]
Eveniment Aciune
utilizator
Manipulator
eveniment
Funcie
Obiecte Obiecte Java Script
Browser definite de
utilizator
Metode ale
obiectelor
Proprieti ale
Obiecte obiectelor
Obiecte
HTML
Fundamentale
]
[1]
[1]
JavaScript
Realizarea script-urilor care reactioneaza la evenimente/
comportamentul sau datele introduse de catre utilizator;
Validarea datelor de intrare introduse in cadrul unui formular;
Realizarea schimbului de informatii intre documentul curent si
server. (prin intermediul Ajax, fara a reincarca pagina web);
Crearea meniurilor dinamice si adaptarea continutului in functie
de click-urile utilizatorilor;
Manipularea arborelui DOM pentru a modifica structura si
continutul unei pagini HTML.
JavaScript permite:
schimbarea elementelor HTML/DOM
stergerea elemente HTML/DOM
crearea de noi elemente HTML/DOM
copierea si clonarea elementelor HTML/DOM
schimbarea atributelor CSS
]
[1]
[1]
Java Script
JavaScript poate fi ncorporat ntr-un document HTML n dou situaii:
ca declaraii i funcii, folosind elementul <script>
ca metode de tratare a evenimentelor folosind elementele HTML
Poziionarea codului:
Fisier extern (declarat intr-un fisier *.js extern)
Script incorporat (incorporat in sectiunea de head sau body a documentului HTML)
<!DOCTYPE html>
<html>
<body>
<h1> Pagina Web</h1>
<p id="demo">Paragraf</p>
<button type="button" onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
document.getElementById("demo").innerHTML="My First JavaScript Function";
}
</script>
</body>
</html>
]
[1]
Scripturi -Pozitionare
Exemplu: modificare atribute in pagina HTML
<html><head>Test JavaScript </head>
<body>
function line() {
document.write("<hr align='center' width=50%>)
}
</script>
</body></html>
alert("Salutare");
]
[1]
<html> <html>
<head> <head>
<script> </head>
alert("Salutare"); <body>
</ script > Text oarecare
</head> <script>
<body> alert("Salutare");
Text oarecare </ script >
</body> </body>
</html> </html>
Comentarii
Exista 2 metode de a folosi comentarii:
comentarea unei singure linii se face-> cu ajutorul //.
Orice text care apare dupa // si pana la sfarsitul unei linii, va fi ignorat
de JavaScript (nu va fi executat).
Virgul mobil:
4.5, 3.14159
-1.4e12 - constante cu exponent
[1]
Variabile
Exemple:
var x=7;
var x,y1="19";
var lk="Vedem";
var y=null;
Declaratii:
numele unei variabile poate contine litere, numere si liniute de
subliniere "_".
numele trebuie sa inceapa cu o litera, cu semnul $ sau _. Se
recomanda ca numele variabilei sa inceapa tot timpul cu o litera:
numele variabilelor nu pot contine spatii:
numele variabilelor nu pot contine caractere speciale precum (! @ #
% . , / \ + * = etc).
pentru a declara mai multe variabile intr-o declaratie vom incepe
declaratia cu var si vom separa variabilele prin virgula:
var varsta = 20, prenume = "Cristina";
]
[1]
[1]
Operatori
Operatorii sunt folosii pentru a realiza anumite operaii elementare ntre
obiecte,
fiecare operator joac i rolul de separator ntre dou elemente lexicale
au proprieti similare cu cei din C: precedena (ordinea n care sunt
interpretai) i asociativitatea (direcia de evaluare).
Operatori aritmetici
]
[1]
Operatori de asignare
]
[1]
Operatori de comparare
]
[1]
Operatori logici
[1]
Operatori speciali
permit manipularea expresiilor sau obiectelor:
?:Condiie reprezint un tip de structur if...else unde condiia
este plasat nainte de (?) iar valoarea este plasat n fiecare parte a
(:);
, (Virgula-Comma) este utilizat n procesarea n serie a expresiilor;
delete Delete terge un obiect, proprietate, sau element dintr-un
tablou
in In este utilizat pentru a inspecta coninutul unui obiect
specificat;
instanceof Instanceof testeaz dac un object este instan a unui
obiect specificat;
new New creaz o instan a unui obiect specificat;
this This refer obiectul curent;
typeof Typeof identific tipul valorii ce este evaluat;
void Void evalueaz o expresie fr a ntoarce o valoare;
JavaScript este case sensitive
]
[1]
Structuri de control
Declaratiile conditionale sunt utilizate pentru a efectua diferite actiuni in
functie de diferite conditii.
if( conditie ) {
// executa acest cod in cazul in care conditia este adevarata
}
else {
// executa acest cod in cazul in care conditia nu este adevarata
}
var a = 2, b = 4;
if( a < b ) {
alert (" a este < decat b ");
}
else {
alert (" a este > decat b ");
}
]
[1]
[1]
[1]
Structuri de control (4)
Instruciunea break
determin ntreruperea fluxului normal de execuie i se folosete n corpul
instruciunilor switch, while, do, for. Controlul se trece la prima instruciune de dup
cele condiionale sau repetitive (switch, while, do, for).
Exemplu:
var x=1;
var xodsum=0;
var xtrup=0;
var ultimx=0;
while (true){
xtrup+=xodsum+x;
if (xtrup>100)
break;
xodsum+=x;
x+=2;
}
ultimx=x;
Instruciunea continue
este similar cu break i se folosete n corpul instruciunilor iterarive ca: while, for.
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
Funcii JavaScript
[1]
Functii (2)
Functiile JavaScript native sunt cele care vin "out-of-the-box".
[1]
JavaScript Functii(3)
function afiseazaMesaj( ) {
alert("Functia a fost apelata");
/* acest cod nu va rula pana in momentul in care codul functiei
functia afiseazaMesaj() va fi apelata */
}
function afiseazaMesaj( );
function adunaNumere( a, b ) {
return a + b;
alert("Acest text nu va fi afisat");
/* acest cod nu va rula pana in momentul in care codul functiei
functia adunaNumere() va fi apelata */
}
alert( function adunaNumere( 2, 3 ) ); // Alerts "5"
]
[1]
Variabila globala
este declarata in exteriorul unei functii.
este vizibila si poate fi accesata de catre toate script-urile si functiile din
cadrul paginii web.
Variabilele globale sunt sterse in momentul in care pagina web se
inchide.
]
[1]
Variabile locale
<!DOCTYPE html>
<html>
<body>
<div id="c1"></div>
<div id="c2"></div>
<script>
function myFunction() {
var a = 4; // variabila locala
document.getElementById("c1").innerHTML = a;
}
myFunction();
document.getElementById("c2").innerHTML = a;
</script>
</body>
</html>
]
[1]
Variabile globale
<!DOCTYPE html>
<html>
<body>
<div id="c1"></div>
<div id="c2"></div>
<script>
var a; // variabila globala
function myFunction() {
a = 4;
document.getElementById("c1").innerHTML = a;
}
myFunction();
document.getElementById("c2").innerHTML = a;
</script>
</body>
]
[1]
Functii anonime in variabile
<!DOCTYPE html>
<html>
<body>
<div id="c1"></div>
<div id="c2"></div>
<div id="c3"></div>
<script>
function adunare(a, b) {
return a + b;
}
var x = function(a, b) {return a + b};
var y = adunare(2, 4);
document.getElementById("c1").innerHTML = x ;
document.getElementById("c2").innerHTML = y ;
document.getElementById("c3").innerHTML = x(2, 3);
</script>
</body>
</html>
]
[1]
Evenimente
Eveniment este o actiune care poate fi detectata de catre JavaScript.
JavaScript permite executarea unui cod in momentul in care sunt
detectate anumite evenimente.
Un eveniment HTML poate fi creat de catre browser, sau de catre
actiunile utilizatorului.
in JavaScript un eveniment este identificat si gestionat de catre un
handler de evenimente.
Un eveniment are loc in momentul in care se incarca o pagina web,
cand utilizatorul da clic pe un element sau misca cursorul mouse-ului
peste el.
Utilizarea addEventListener
]
[1]
Evenimente (2)
Tratarea ca atribut HTML
Se specifica functia care va fi rulata prin intermediul unui atribut in
cadrul elementului.
<button onclick="myFunction();">Click pe mine</button>
<button onclick="alert('Ai dat click pe mine')">Click pe
mine</button>
Se recomanda evitarea acestui mod de a atasa evenimente, pentru
elementele din cadrul
paginii web.
[1]
<script>
var text = "Ana are mere"; // string
var text1 = text.toUpperCase(); // textul e convertic in litere mari
var text2 = text.toLowerCase(); // textul e convertic in litere mici
var text3 = text.replace("mere","pere"); //cuvantul mere e
inlocuit cu pere
var lungime = text.length; // numarul de caractere din text
var cuvinte = text.split(" "); // creaza un array in care
stocheaza cuvintele
alert(cuvinte[0]); // se va afisa primul cuvant
din array
</script>
]
[1]
[1]
Obiectul Math
este utilizat pentru calcule matematice i reprezint primul
exemplu de obiect static (nemodificabil) ->nu se folosete new
spre deosebire de sir care este instaniat.
este sensibil la litere mari i mici
Proprietile sunt definite cu majuscule: E, LN10, LN2, LOG2E,
LOG10E, PI, SQRT 1_2, SQRT2.
Variabilele de tipul number sunt utile pentru stocarea valorilor
numerice.
[1]
Proprietati Math
Alte proprietati:
acos (num), asin (sum), atan(x), atan2(y,x) -arccosinus, arcsinus,arctangent;
sin (), cos() - sinus, cosinus;
ceil (num) - ntregul superior (mai mic ca numrul num) n virgul mobil;
exp (num) - funcia exponenial;
floor (num) - ntregul superior (mai mare numrul num) n virgul mobil;
]
[1]
Obiectul JSNumber
este un object acoperitor pentru valori numerice primitive i se creaz cu
new Number().
Sintaxa: var num = new Number(value);
Dac parametrul value nu poate fi convertit n numr, se ntoarce NaN (Not-
a-Number).
Proprieti:
constructor - ntoarce funcia ce creaz prototip obiect Number
MAX_VALUE ntoarce cel mai mare numr posibil n JavaScript
MIN_VALUE ntoarce cel mai mic numr posibil n JavaScript
NEGATIVE_INFINITY -( ntoarce la depire)
POSITIVE_INFINITY ( ntoarce la depire)
prototype- permite adugarea de proprieti i metode unui object
Metodele acestui obiect sunt:
toExponential(x) - Converete un numr n notaie exponential
toFixed(x)- Formateaz un numr cu x digiti dup punctual zecimal
toPrecision(x) - Formateaz un numr la lungime x
toString()- Convertete obiectul Number n ir
valueOf()-ntoarce valoarea primitiv a obiectului Number
]
[1]
Obiectul Date
are proprieti (constructor i prototype) i are metode.
Crearea unei instane Date este realizat n 4 moduri:
var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds,
milliseconds);
Variabilele de tipul date sunt utile pentru stocarea si lucrul cu date si ore.
var azi = new Date(); //se creaza un obiect de tipul date cu data
si ora curenta
var zi = azi.getDay(); //se afiseaza ziua
var luna = azi.getMonth(); //se afiseaza luna
var an = azi.getFullYear(); //se afiseaza anul
var ora = azi.getHours(); //se afiseaza ora curenta
var minut = azi.getMinutes(); //se afiseaza minutul curent
var secunda = azi.getSeconds(); //se afiseaza secunda curenta
]
[1]
Obiectul Date(2)
[1]
Obiectul Array
Proprieti
constructor -ntoarce funcia ce creaz prototip obiect Boolean
length-seteaz sau ntoarce numrul de elemente din tablou
prototype- permite adugarea de proprieti i metode unui object
Metode
concat() reunete 2 sau mai multe tablouri, i ntoarce o copie a tablourilor reunite
indexOf()
join() reunete toate elementele dintr-un tablou n ir
pop() terge ultimul element din tablou i ntoarce acel element
push() adaug elemente noi la finalul unui tablou, i ntoarce noua dimensiune
reverse() inverseaz ordinea elementelor ntr-un tablou
shift()- terge primul element din tablou i ntoarce acel element
slice()-selecteaz o parte din array, i ntoarce noul tablou
sort() sorteaz elementele din tablou
splice() adaug /terge elemente din tablou
toString()- convertete valoarea Boolean la ir, i ntoarce rezultatul
unshift()- adaug elemente noi la sfritul unui tablou, i ntoarce noua lungime
valueOf() ntoarce valoarea primitiv a unui tablou
]
[1]
Obiectul Array (2)
<!DOCTYPE html>
<html>
<body>
<p id="paragraf"></p>
<p id="paragraf2"></p>
<script>
var masini = ["Audi", "Dacia", "Opel"]; //crearea unui array
document.getElementById("paragraf").innerHTML = masini[0]; //afisarea
unui element dintr-un array
masini[0] = "Mercedes"; //atribuirea unei valori unui
element dintr-un array
document.getElementById("paragraf2").innerHTML = masini[0];
</script>
</body>
</html>
Java Script
Proprieti Globale JavaScript
Infinity - valoare numeric + sau -
NaN -"Not-a-Number" valoare
undefined indic faptul c variabila nu are assignat valoare
Funcii Globale JavaScript
decodeURI() Decodific URI
decodeURIComponent() Decodific un component URI
encodeURI() Codific un URI
encodeURIComponent() - Codific un component URI
escape() terminator de ir
eval() evalueaz un ir i execut daca este cod script
isFinite() - Determin dac valoarea este finit, numr legal
isNaN()- Determin dac valoarea nu numr
Number() Convertete valoarea unui obiect n numr
parseFloat() - Convertete valoarea unui obiect n numr flotant
parseInt() -Convertete valoarea unui obiect n numr ntreg
String() - Convertete valoarea unui obiect n ir
unescape() decodeaza i codeaz un ir
Obiectul window
se asociaz unei ferestre browser i are ca fii documente,
location i history.
Aceste sub-obiecte componente nu se refer explicit, ci prin
metodele asociate:
document.write( )
window document.write( )
Proprieti: Closed, defaultStatus, document, frames,
history, location, name, navigator, opener, parent, Screen,
etc
Metode:
alert(), blur(), clearInterval(), clearTimeout(), close(),
confirm(), createPopup(), focus(), moveBy(), moveTo(),
open(), print(), prompt(), resizeBy(), resizeTo(), scroll(),
scrollBy(), scrollTo(), setInterval(), setTimeout(),etc
Manipulatori de eveniment
onLoad, onUnload, onFocus, onBlur,
onError, onResize
Obiectul navigator
este utilizat pentru a obine informaii despre tipul de browser ce va fi utilizat
la accesarea pagini, informaii extreme de utile cnd utilizatorul este nevoit s
(re) directeze n diferite pagini sau s execute taskuri specifice, dependente de
un browser specific.
Proprieti
appCodeName ntoarce numele intern al browserului, dar nu este att
important precizarea browserelor Mozilla n Firefox, Netscape, IE, sau Opera.
appName - ntoarce numele 'oficial' al browserului (spre exemplu IE ntoarce
Microsoft Internet Explorer i Firefox i Netscape ntorc ambele Netscape.
Utilizatorii Opera pot schimba identitatea browserelor, ca s apar ca Netscape,
Opera, sau Microsoft Internet Explorer.
appVersion - ntoarce versiunea browser (IE versiunea 4-6 apare 4.0 iar
Netscape 6 ntoarce 5.0. Firefox, ce ruleaza cu browser versiune 1.07, ntorce 5.0
deoarece folosete acelai motor Mozilla ca Netscape.
cookieEnabled este utilizat pentru a verifica dac browserul accept cookies:
platform
userAgent -ntoarce un ir ce conine browser, numr de versiune, sistem
de operare, exceptnd IE, default language pentru browser
Obiectul screen
furnizeaz informaii despre video display i setarea culorilor utilizatorului.
Aceste informaii ajut la formarea optim a datelor afiate ecranul pe ecranul
utilizatorului.
Proprieti
availHeight
availWidth
colorDepth
height
pixelDepth
width
Aceste 2 proprieti (availHeight, availWidth) ntorc zona actual vizibil n
fereastra browserului (the viewable portion of the screen within the browser),
spre deosebire de height i width care dau dimensiunea actual a ntregului
ecran (pixeli).
Redimensionarea ferestrei la valoare maxim poate fi realizat cu scriptul:
window.moveTo (0,0);
window.resizeTo (screen.availWidth, screen.availHeight); //
La nceput browserul se mut stnga sus (0,0) apoi browserul
redimensioneaz de la prezenta poziie sau poate fi mutat cu metoda moveTo
i redimensionat din noua poziie
window.moveTo (30,15);
window.resizeTo (screen.availWidth, screen.availHeight);
Obiectul history
este utilizat pentru a referi liste istoric ale URL-urilor vizitate anterior i are o
proprietate length care indic numrul de URL-uri nmagazinate sau lista
istoric.
Metodele proprii sunt:
back - deplasare la URL-ul anterior;
foreward ( ) - deplasare la pagina urmtoare;
go (where)
Metoda go este utilizat pentru navigarea n lista istoric, argumentul where
este numeric sau sir.
Un numr pozitiv deplaseaz nainte i cel negativ deplaseaz napoi; where
poate fi un ir = URL.
Exemplu:
<form>
<input type="Button" name="back" value="Go Back"
onClick="history.back()"> // inapoi
<input type="Button" name="forward" value="Go Forward"
onClick="history.forward()"> // inainte
</form>
history.go(1) // inainte
history.go(-2) // inapoi 2 pagini
Obiectul location
descrie URL-ul documentului i are proprieti reprezentnd variante componente
ale URL: partea de protocol, partea hostname, path, numr port.
Metoda toString se utilizeaz pentru conversia la ir.
Location ine informaii despre URL-ul unde acceseaz browserul i conine
parametri ai HTML-ului examinat via butonul Submit sau prin procedur submit.
Proprieti
hash
host
hostname
href
pathname
port
protocol
search
Metode:
assign()- ncarc un nou document
reload()- rencarc un document
replace()- nlocuiete un nou document cu altul nou
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
]
[1]
JavaScript DOM
Metodele HTML DOM sunt actiuni care se pot efectua (pe elementele
HTML).
O metoda este o actiune precum adaugarea sau stergerea unui element
HTML.
[1]
JavaScript DOM
[1]
Noduri DOM
DOM este o colectie de noduri:
Noduri Element
Noduri Atribut
Noduri de text
[1]
Accesarea elementelor
Pentru a putea manipula elementele HTML, JavaScript trebuie sa
poata, in primul rand, sa gaseasca elementele. Acest lucru se
poate realiza prin intermediul id-ului, tag-ului sau numelui
clasei.
Metode de acces:
getElementById("Id")
Metoda acceseaza primul element cu Id-ul specificat. furnizeze
Id-ul elementului pe care dorim sa il accesam/manipulam este
obligatoriu.
getElementsByTagName("TagName")
Metoda acceseaza toate elementele cu tagul specificat.
numele tag-ului pe care dorim sa il accesam/manipulam este
obligatoriu.
getElementsByClassName("ClassName")
Metoda acceseaza toate elementele cu numele clasei specificat.
numele clasei pe care dorim sa o accesam/manipulam este
obligatoriu.
]
[1]
Manipularea elementelor
DOM ofera mai multe metode standard pentru
manipularea elementelor, atributelor si continutului
acestora.
element.innerHTML=
Permite modificarea continutului din cadrul unui
element HTML
element.attribute=
Permite modificarea atributului unui element HTML
element.setAttribute(attribute,value)
Permite modificarea atributului unui element HTML
element.style.property=
Permite modificarea stilului unui element HTML
]
[1]
[1]
Accesarea elementelor
document.getElementById("idElement")
Metoda returneaza elementul care are atributul de identitate egal cu
valoarea specificata.
Metoda returneaza null in cazul in care nu exista elemente cu ID-ul
specificat.
In cazul in care exista mai mult de un element cu ID-ul specificat,
metoda
getElementById() returneaza primul element.
una dintre cele mai comune metode din HTML DOM.
este folosita aproape de fiecare data cand se doreste manipularea, sau
obtinerea de informatii de la un element din cadrul documentului.
]
[1]
Accesarea elementelor (2)
document.getElementsByTagName("numeTag")
paragrafe = getElementsByTagName("p")
[1]
Accesarea elementelor (3)
getElementsByClassName("numeClasa")
elementeLista = getElementsByClassName("elementeLista")
[1]
Setarea valorii
Unui element:
elementHTML.innerHTML="text"
[1]
Setarea valorii (2)
Unui atribut:
element.setAttribute(numeAtribut, valoareAtribut)
Metoda setAttribute() adauga atributul specificat in cazul in care nu
exista si il seteaza la valoarea specificata.
In cazul in care atributul specificat deja exista, doar valoarea ii este
schimbata.
metoda necesita doua argumente: atributul a carei valoare trebuie sa fie
schimbata si noua valoare pentru atribut.
Exemplu:
<img src="poza1.jpg" id="poza" onclick="schimba()">
<script>
function schimba(){
document.getElementById("poza").setAttribute("src","poza2.jpg");
}
</script>
Manipularea stilurilor CSS
DOM permite adaugarea, modificarea, sau eliminarea unui stil CSS de la un
element folosind proprietatea style a elemenului.
document.getElementById("idElement").style.proprietateCss = "valoare";
document.createElement(numeElement)
document.createTextNode("text")
In mod normal elementele HTML sunt alcatuite atat dintr-un nod de tip
element cat si dintr-un nod de tip text.
Pentru a crea un antet (H1), trebuie sa creem atat un nod de tip element "H1"
cat si un nod de tipul text.
<div id="divParinte"></div>
divNou.appendChild(textDiv);
document.getElementById(divParinte).appendChild(divNou);
Manipularea nodurilor (4)
Adaugarea unui nod inaintea altui nod cu medoda insertBefore()
nodParinte.insertBefore(noulNod, nodulExistent)
Metoda insertBefore() introduce un nod "copil", chiar inaintea altui nod copil
existent, pe care il specificam.
metoda introduce un element inaintea altui element.
In cadrul div-ului cu id-ul divParinte, inaintea div-ului cu id-ul divNou vom adauga
un antet.
Exemplu:
Metoda insertBefore() introduce un nod "copil", chiar inaintea altui nod copil
existent, pe care il specificam.
metoda introduce un element inaintea altui element.
In cadrul div-ului cu id-ul divParinte, inaintea div-ului cu id-ul divNou vom adauga
un antet.
Exemplu:
In cazul de fata vom sterge elementul cu id-ul antet din cadrul div-ului cu
id-ul divParinte.
divParinte.removeChild(antet);
Prof.dr. Lucia Rusu
lucia.rusu@econ.ubbcluj.ro
[1] [1]
jQuery
este o biblioteca cross-platform JavaScript ce simplific
elaborarea scripturilor client-side HTML.
jQuery este free, software open-source liceniat MIT.
"write less, do more", ca bibliotec JavaScript .
Scopul: utilizarea facil a JavaScript n website.
jQuery simplifc o mulime de lucruri complicate din
JavaScript, ca apeluri AJAX calls i manipularea DOM
este lansat in 2006 de ctre John Resig (Mozilla)
cere cunotinte de HTML,CSS i JavaScript
Suport Browser: ambele versiuni jQuery sunt suportate de
Firefox, Chrome, Safari, i Opera. Versiunea 1.x este
suportat de Internet Explorer 6 sau superioar iar 2.x de
Internet Explorer 68
jQuery
Biblioteca jQuery conine caracteristici :
manipularea HTML/DOM
manipularea CSS
metode eveniment HTML
efecte i animaii
AJAX
Utilititare ca detectia comportamentului
Deferred si Promise objecte pentru controlul asincron al
procesrii
JSON parsing
Extensibilitate prin plug-ins
Metode de compatibilitate disponibile nativ in browsere moderne:
inArray(), each()
Multi-browser support (nu cross-browser)
Acestea sunt declanate cand browserul i-a construit DOM i trimite evenimentul load.
<script type="text/javascript">
$(document).ready(function(){
// jQuery cod
});
</script>
Functiile de apelare invers sunt incluse n .ready() ca funcii anonyme, dar sunt apelate
cnd evenimentul de callback este declanat.
Exemplu:
Cod jQuery ce adaug un event handler la mouse click pe un element image (img).
$(document).ready(function(){
$('img').click ( function() {
// manipulator la click event pe elemental img din pagin
});
});
Sintaxa echivalent:
$(document).ready(handler)
$(handler)
jQuery -tehnici
Inlnuirea
$("div.test").add("p.quote").addClass("blue").slideDown("slow");
Funcii utilitare
Functile prefixate cu $. Sunt funcii utilitare sau funcii ce afecteaz
proprietile i comportamentul global.
Exemplu: Funcion utilizat penru iterarea peste un arrays numit each in
jQuery:
$.each([1,2,3], function() {
console.log(this + 1);
});
Scrie "2", "3", "4" la consol.
Selectorii jQuery
Selectorii jQuery de Elemente
jQuery folosete Selectori CSS pentru a selecta Elemente HTML.
Exemple:
$("p") selecteaz toate elementele <p>.
$("p.ooo") selecteaz toate elementele <p> cu class="ooo".
$("p#sus") selecteaz toate elementele <p> cu id="sus".
[1]
[1]
[1]
[1]
[1]
Procesul iterativ
Procesul iterativ (2)
Specificarea cerinelor
Analistul colecteaz i formalizeaz informaia esenial.
Rezultatul specificatii de analiza
Feed back de ctre client
Proiectarea modelelor de date
cel mai popular model conceptual Entitate-Relaie (Chen
1976).
Modelul obiectual
Modelele de date specifice Web
Elaborarea schemei bazei de date cu satisfacerea formelor
normale (uneori)
Inginerie Web
Modelarea hipertext:
structura ierarhic a paginilor site-ului,
Datele pentru construirea paginilor,
legturile dintre pagini.
Modelarea datelor i hipertextului sunt strns corelate
Gradul de flexibilitate : timpul pentru ajustarea unui
model la schimbarea celuilalt:
compatibilitate,
optimizare.
Inginerie Web (2)
Proiectarea arhitecturii
definirea elementelor hardware, de reea i componentelor
soft
Scopul: identificarea unei combinaii optime pentru
satisfacerea cerinelor de performana, securitate,
scalabilitate i costurilor.
Testarea i evaluarea
verificare a conformanei aplicaiei implementate la cerine
testarea funcionalitii, performanei i utilizabilitii
(usability).
ntreinere i evoluie - modificrile efectuate dup
lansarea aplicaiei (permanent).
Propunerile i cerinele noi sunt analizate i efectuate
modificri n modelul date si/ sau hipertext.
Ierarhizarea Proiectarii
Componenta
de produse
Logica de Driver la Baza de date
prezentare baza de
Componenta
date
de preuri
Logica de
procesare
Componenta
de clieni
[1]
[1]
[1]
[1]
[1]
[1]
[1]
[1]
[1]
Componentele CMS
a. Date i informaii
b. Coninutul (Content)
coninut,
layout
structur
c.abloanele (Templates)
d. Procesarea coninutului (Content process)
creare,
control,
eliberare,
publicare,
Arhivare
Managementul coninutului (Content management)
Managementul coninutului web (Web content
management)
Figura 3.4.Procesul iterativ de dezvolare a ste-ului web
]
[1]
[1]