Ing. Fabrizio Fioravanti, Ph.D. Ing. Marius Spinu, Ph.D. ... Javascript. Settembre 2001



Documenti analoghi
apertura autunno 2012

OPERAZIONE MANI PULITE

Sistema Utenti Motori Agricoli

Esercizi di simulazione di memorie cache

Esercizi di simulazione di memorie cache

Autorità Nazionale Anticorruzione

Ogni amante è guerrier Libro ottavo de madrigali

I RIFIUTI DI NOVARA. Altieri ASSA S.p.a. 28/02/2013

Come Vendere AdWords. Programma Agenzie QUalificate AdWords

Combattimento di Tancredi et Clorinda

A.A. 2016/17 Graduatoria corso di laurea magistrale a ciclo unico in Giurisprudenza

CITTA' DI ALGHERO PROVINCIA DI SASSARI - SETTORE V - QUALITA' DELLA VITA II AMBITO POLITICHE DI AFFIANCAMENTO E DI SOSTEGNO ALLE FAMIGLIE

N O. Progetto ISON quest. Coordinamento delle Associazioni Astrofile della To scana. Raccolta e catalogazione delle immagini della comet a ISON

ID_PRATIC C A OGN N OM OME

Elenco candidati preselezione - Comune di Padova-4

al sistema GHS fabbricanti e agli impo

A.A. 2016/17 Graduatoria corso di laurea in Scienze e tecniche di psicologia cognitiva

ALLE ORE I CANDIDATI DOVRANNO PRESENTARSI NELL'AULA INDICATA MUNITI DI DOCUMENTO DI IDENTITA'

Test ammissione CdL in Economia aziendale ed Economia e commercio GRADUATORIA GENERALE

SEGNALETICA LUMINOSA DA CANTIERE

Risultati simulazione test di accesso per l ammissione al corso di Laurea in Professioni Sanitarie

Indirizzi: Amministrazione & Controllo e Marketing & Organizzazione (sia in presenza sia on-line)

LA GARA D AMBITO PER LA CONCESSIONE DEL SERVIZIO PUBBLICO DI DISTRIBUZIONE DEL GAS NATURALE

L inizio: il problema del colore. *1660 Newton studia la rifrazione e scopre gli spettri. sviluppo storico della spettroscopia

Automatic. Il sistema. Tecnologia e Design. Accensione programmata ad orario. Temperatura cottura controllata Professionalità a casa tua

ALL. 1 - GRADUATORIA DEFINITIVA

smart BRABUS tailor made >> Dall originale al pezzo unico.

Pre sen ta zio ne. pri me espe rien ze, af fron ta te con in cer tez za e tal vol ta con scar sa

WP4 BILANCIO ENERGETICO COMUNALE DI VERZEGNIS (UD) Data: 21 luglio 2015

OFFERTA OSPITI DICEMBRE, FINO AD ESAURIMENTO SCORTE!

Legge regionale 2 agosto 2013, n. 45

CITTÀ DI IMOLA MEDAGLIA D'ORO AL VALOR MILITARE PER ATTIVITA' PARTIGIANA

Risultati simulazione test di accesso per l ammissione al corso di Laurea in Economia

Particol arità su veicoli storici (P) / Dichiara zione uso non professi onale (X) gestion e riprese ntate nuovo Regola mento IPT

graduatoria FASCIA 1 estrazione al 28/06/2018

Corso di Laurea in Fisica e Astrofisica Corso di Laboratorio di Elettromagnetismo Esonero del 13/06/2012


Autorità Nazionale Anticorruzione

Risultati simulazione test di accesso per l ammissione ai corsi di Laurea Triennale in Ingegneria

CARNET DEI SERVIZI DEDICATI AL SOCIO. Pronti ad aiutarti!

WP4 BILANCIO ENERGETICO COMUNALE DI CAVAZZO CARNICO (UD) Data: 21 luglio 2015

entro le ore del 7 settembre I/le candidati/e che non dovessero rispettare la scadenza saranno considerati rinunciatari/e.

} Associazioni, scuole, gruppi e singoli partecipanti

A.A. 2015/2016 Graduatoria ammessi al corso di laurea in Scienze e Tecniche di Psicologia Cognitiva sessione estiva

della 1 furto, 6 sospettati, 1 solo colpevole (forse) Graziella Tarter e Monja Tait I libri-gioco per allenarsi nei dettati alla scuola primaria

Avviso di partecipazione alla prova di verifica dei requisiti

2 CONTRIBUTI PER INDIGENTI

Test di ammissione corso di laurea in Scienze e Tecnologie Biomolecolari

TT R. D D LL NZ T R D L D R T R D LL D L V L V T 8 0 T R N BL L N, n.n d ll. d d ll nz 8 n r t d n :42 T http: hdl.h ndl.n t 202 dp

al Braglia! Campagna Abbonamenti Stagione Sportiva 2013/2014

C * P TRIM TRIM TRIM TRIM TRIM TRIM TRIM TRIM TRIM TRIM 2014

Oltre i principi di Kirchhoff verso una trattazione elettromagnetica Kirchhoff prevederebbe che appena chiuso l

NR COMUNE COGNOME E NOME DATA PR. TOT 116 Anagni MIV 18/03/16 16, Anagni LM 31/03/16 16,5 118 Anagni DPG 06/04/16 16,5 119 Anagni IM 11/04/16

NN H R D T F N L N H N. T N D D TR D TT. NT N L N P D V 6 0 n r t d n : T P bl D n, l d t z d th tr t. r pd l

L V D br pr vv t ff tt d ll. D l h, h n ll r n n, n n n p r t h l pr t t, l p d ll v lt, bl t r r t t lv lt p r ² lt d t nt, f p ll n l nt r r d l l b

VIENE IL SIGNORE Antifone "O"

ASSEGNI DI CURA, PRONTE LE GRADUATORIE

PIANO DI LAVORO. Verranno prefissati come obbiettivi disciplinari per la seconda classe i seguenti argomenti: DIRITTO ED ECONOMIA PROF.

A.A Ingegneria Gestionale 2 appello del 11 Luglio 2016 Soluzioni - Esame completo

CITTÀ DI IMOLA SETTORE SCUOLE

SOSTEGNO AGLI ALUNNI CON DISABILITÀ (D.M. 30 settembre 2011) A.A. 2018/2019

-25% BellaVita. Benessere e leggerezza Wellbeing and light

DICHIARAZIONEexart.20del D.Lgs.39/2013, previste dal'art. 76del medesimo D.P.R. ~natoa I~s~a~s_a~ri~. ~_Iil 10/12/1944

ATTIVITA' DI CARATTERE SOCIO SANITARIO ASSISTENZIALE PERSONE FISICHE ALBO DEI BENEFICIARI 2016

VectorWorks. Differenze fra la versione International e la versione in italiano

Corso HTML. Appendice. Catalogo corsi Perchè scegliere noi? Caratteristiche DEMO Attestato Tutor FAQ Aziende e PA. Home» I tuoi corsi» HTML» Lezione

GIORNALE. not ANIC o IT ALIA NO FILIPPO PARLATORE FIRENZE. PER CUIt\ DELLl SEZIONE notlnicl DEI COXGRESSI SCIENTIFICI ITALUM. 18\..

A.A. 2014/2015 Graduatoria ammessi al corso di laurea magistrale a ciclo unico in Giurisprudenza.

Esiti della prova di verifica della preparazione iniziale A.A. 2018/2019 Corsi di Studi in Amministrazione e Organizzazione - Scienze Politiche

Corso di ELETTRONICA INDUSTRIALE

P.O.F. ITCT BORDONI SCHEDA DI PROGRAMMAZIONE DISCIPLINARE. a.s DISCIPLINA Seconda Lingua Comunitaria TEDESCO

don Gabriele Se uno viene a me e non mi ama più della propria vita, non può essere mio discepolo (Lc 14,26) ORARIO CELEBRAZIONI LITURGICHE

VICKY RUGBY PROJECT. Proposta Educativa

Leggerezza strutturale e coibenza termica. editabile. osolaio. ecosolaio ECOSISM ECOSOLAIO

GLI I M PIANTI SONO LA SOLUZIONE!

SENATO DELLA REPUBBLICA INDICE DEI CAPITOLI DI SPESA

Localizzare gli oggetti

abbiamo visto determinata la quantità che variazione energia un' espressione fornire temperatura Lnesti adiabatica Tra per 2mi lavoro corpi uno

A.A. 2018/19 Graduatoria corso di laurea in Economia e Management

UNITÀ DI APPRENDIMENTO IN VERTICALE


Giornata di studi UNIVERSITA DEGLI STUDI LINK CAMPUS UNIVERSITY. ROMA Via Nomentana, SETTEMBRE 2013 ore 08.30/19.30

"-//W3C//DTD XHTML 1.1//EN

COMUNE DI VILLACIDRO

'.:1-t':;;: 3 aprile. tf,*bqè 1726I.; -"'..--"'l'- nato a siena. _-- r'1i ottobre -.--;-- - ,ilr*{rrh. G!(t0u6I(tlT+z fr. ,rrl*d;

Calcolo della funzione d uscita per un generico segnale d'ingresso

A.A. 2015/2016 Scorrimento graduatoria ammessi al corso di laurea in Scienze e Tecniche di Psicologia Cognitiva sessione estiva

vt; 9tF t<tnts L r.l >l ;i Elg O. N - I t'\ t\i GI --l ()t {t I ;t ool cla! glp c.r !t Y Flx ()lq ()l O, r-r I ttr =t- i5l i sl !t.\_ E{ c.

Scheda Prodotto Prestito Personale. Agenti e Mediatori. Luglio Marketing Department (Ver. 1 PP 07/2009) 1

LA DOMANDA DI TRASPORTO CARATTERIZZAZIONE E MODELLI (Capitolo 2)

Parte I. stradario cittadino completo

A.A. 2019/2020 Graduatoria per l'ammissione al corso di laurea in Ingegneria per l'ambiente e il territorio

II Prefetto della Provincia di Pisa

A.A. 2018/2019 Graduatoria corso di laurea in Studi internazionali Sessione primaverile entro le ore del 14 maggio 14 maggio 18 maggio

SENATO DELLA REPUBBLICA

S.O.S. ZEBRA! Mobilità sostenibile e sicurezza.

Ingegneria dell'informazione e delle Comunicazioni 14 maggio lunedì 21 maggio 2018.

<<<Come organizzare eventi a basso impatto ambientale

CON LA PROF. AVISA ALLA SCOPERTA DI ADESIVI, INCHIOSTRI E VERNICI

Il Dùettore. VISTA la legge 2 aprile l9ó8, n. 475 "Norme concernenti il servizio Ídrmaceutico"

Transcript:

. Ing. Fbrz Frvn, Ph.D. Ing. Mrus Spnu, Ph.D........... Jvscrp Smbr 2001

1. JAVASCRIPT: LE ORIGINI... 4 JAVASCRIPT E JSCRIPT... 4 2. ASPETTI E CARATTERISTICHE GENERALI... 6 VANTAGGI E SVANTAGGI... 7 LE DIVERSE VERSIONI... 8 VERSIONI JSCRIPT E JAVASCRIPT... 8 DHTML... 8 3. I PRIMI RUDIMENTI DEL LINGUAGGIO... 10 TAG <SCRIPT>... 10 RICHIAMO DEGLI SCRIPT... 10 Scrp Esrn... 11 Scrp Inrn... 11 BROWSER NON COMPATIBILI... 12 COMMENTI E PUNTEGGIATURA... 12 Cmmn... 12 Spz Bnch... 13 Apc... 13 ISTRUZIONI... 13 Blcch d sruzn (csru squnz)... 13 Mdlà d scuzn... 14 4. GLI EVENTI... 15 ATTIVARE GLI EVENTI ALL INTERNO DEGLI SCRIPT... 15 RAGGRUPPARE GLI EVENTI... 16 EVENTI ATTIVABILI DAI TASTI DEL MOUSE... 16 Vrsn cmpblà... 16 Vlr ru fls... 17 EVENTI ATTIVABILI DAI MOVIMENTI DEL MOUSE... 23 Tg Snsbl... 23 Rllvr... 28 EVENTI ATTIVABILI DAL TRASCINAMENTO DEL MOUSE... 28 Tg Snsbl... 29 EVENTI LEGATI ALLA TASTIERA... 29 Tg Snsbl... 29 Ts Inrcbl... 30 EVENTI LEGATI ALLE MODIFICHE... 30 Tg Snsbl... 31 EVENTI LEGATI AL "FUOCO"... 32 Tg snsbl... 32 EVENTI DA CARICAMENTO DEGLI OGGETTI... 33 Tg snsbl... 33 EVENTI DAL MOVIMENTO DELLE FINESTRE... 35 Tg snsbl... 35 EVENTI DA TASTI PARTICOLARI... 36 Tg snsbl... 36 5. VARIABILI, ESPRESSIONI E OPERATORI... 38 VALORI LETTERALI... 38 CARATTERI SPECIALI... 38 ESCAPE ED UNESCAPE... 39 DICHIARAZIONI VARIABILI... 39 IDENTIFICATORI... 40 PAROLE CHIAVE... 41 TIPI DI VARIABILI... 41 LIFETIME DEI DATI... 42 PASSAGGIO DEI DATI... 43 ARRAY... 44 2

OPERATORI... 44 PRECEDENZA DEGLI OPERATORI... 47 ESPRESSIONI AL VOLO... 48 6. FUNZIONI... 49 7. ISTRUZIONI CONDIZIONALI... 52 IF, IF...ELSE E SWITCH... 52 FOR E FOR IN... 53 WHILE... 54 DO... WHILE... 54 BREAK E CONTINUE... 54 8. IMPARARE TRAMITE GLI ESEMPI... 56 APRIRE UNA NUOVA FINESTRA... 56 MESSAGGI SULLA STATUS BAR... 58 PASSWORD IN JAVASCRIPT... 64 CONTROLLO DATI INSERITI IN UN FORM... 67 PROTEGGERE IL CODICE SORGENTE... 69 3

1. Jvscrp: l rgn Il Wrld Wd Wb s è svlupp grz ll pssblà d pr vsulzzr l grfc l mulmdlà n r. Msc, l prm brwsr, vnn rlsc nl 1992 prmv d vsulzzr l grfc lr l s; nl 1994 pr dgl svluppr d Msc fndrn l Nscp Cmmuncns Crprn l lr brwsr s rvlò bn prs d qulà suprr, n ch svlupprn Jvscrp ch vnn mplmn pr l prm vl sull vrsn b d Nscp Nvgr 2.0 nl gugn 1995. Tl lngugg pprò un nvl cmbmn ll pgn HTML, prcò lcun ff, ch rn rlzzbl sln cn l'nrfcc CGI, dvnrn pù fcl d ffurs l sss dnmcà nn rsò pù lm ll sl gf nm. Il 1995, nlr, rs un pr mlr nll svlupp d Inrn prché ccn Nscp nch un'lr scà slv ll rbl, grz l prvdn nvsmn sull pnzlà dl Wb: l Sun Mcrsysms Inc., ch vv prsn qulch ms prm Jv, l lngugg vlu ch s prpnv d dvnr un sndrd nll cmunczn n r. JvScrp è s cr grz d un sr cllbrzn r Nscp Sun Mcrsysm, d è vv, qund, ch l cmprnsn d un l lngugg nn pss prscndr d Jv. E bn prcsr ch JvScrp è cs ml dvrs d Jv. Enrmb lngugg sn rn gl gg, m mnr Jv è us pr crr pplczn unm ppl, JvScrp vn nrpr nsm l cdc HTML (dl qul è pr ngrn, snz l qul nn può ssr), snz ncssà d mcchn vrul cnscnz pprfnd d mdll rn gl gg. I du lngugg hnn n cmun pr dll snss dll sruur m srbb mpssbl, sl pr fr un smp, crr un prgrmm rpp cmplss n JvScrp. JvScrp, qund, s rvlg gl svluppr d s wb ch nndn nr rsul pprzzbl snz ncssà d mprr cmplss lngugg d prgrmmzn. Cm u lngugg d prgrmmzn rn gl gg, JvScrp sblsc un grrch d gg ch cnsn d dfnr cn szz prprà lrmn ndfnbl. Gl gg prncpl n Nsscp sn: wndw, dcumn, hsry, lcn nvgr. Tl gg sn cllg r lr d rlzn sruurl dl p: Ogg1.gg2.prprà2 Ogg1 è l lvll pù l, gg2 è un prprà d gg1 prprà2 è un prprà d gg2 JvScrp s cmpn d lmn d prgrmmzn qul: rgmn, gsr d vn, funzn, lrl, sprssn, md, gg, prr, prprà, sruzn, vlr vrbl. Nll prc JvScrp cnsn d rrcchr dcumn HTML cn scrp pù mn cmplss pù mn ul. L prur d fnsr ndpndn d qull prncpl dl brwsr è un dll pculrà d JvScrp, ch lr dr smp prc cnsn d dfnr pprfndr lmn cncul. Qulcun s prà chdr cs fcv l Mcrsf? Ebbn, n qul prd vnv dsrbu Inrn Explrr 2.0, ch s prsnv crn s dvrs pun d vs, rvlv cm qull scà fss ml scc n qus cmp. Tr Jvscrp Jv s pns ch c sn vr sp n cmun, lr d un nm ml sml, m l dffrnz sn n pch, scnd pun d vs. Innnzu l prm m d sfr è prpr nl nm, n qun Jvscrp, ll su prm pprzn s chmv LvScrp, pr l prlllsm cn LvWr, un lngugg ch l sss Nscp vv mss pun pr l gsn dll prgrmmzn dl l srvr, m du lngugg, ffrms cnmprnmn, nn pvn ch vr 'v prlll, d nf, nl dcmbr dl 1995 l Nscp l Sun nnuncrn d cllbrr ll svlupp d LvScrp, ch prs l nm ul d Jvscrp. Jvscrp Jscrp Nl 1996, prò, l Mcrsf nzò msrr un grnd nrssmn pr l Wb qund s vnzò l'ps ch pr Nscp grn fssr rm cn, uv l l, bnché mpr, s prsnò pù dur dl sl n qun Nscp crscv, nch s lnmn, su bs sld, su un brwsr ch nscv gà pn, mnr Explrr rvlv u df d un brwsr n n fr cn srg 4

spss cnrs dll'vdnz d f. In qus'ulm cs è mblmc l nv dll Mcrsf d cnrpprr Jvscrp un vrsn rd dl Vsul Bsc ch prs l nm d VBScrp, m l su cpcà s prsnrn lm d dvrs bug. L Mcrsf cn Inrn Explrr 3.0 dv rpgr vrs l'dzn d un lngugg ch d f r ml sml Jvscrp, m ch pr sgnz d cpyrgh, nn pv vr l sss nm, pr cu fu dfn JScrp. L'nrduzn Jvscrp è smbr mprn prché n qus sr, nch s pprnmn l du scà dchrn d sgur gl sndrd dll ECMA-262, l gurr cnnu gcrs clp bss, s nn s rvc un pc d sr, dffclmn s rsc cmprndrn l mvzn nrnsch, dffclmn s rsc cmprndr nch prché n Il l 70% d nvgr ulzz Explrr, mnr ngl USA, dv nl 1995 l Wb r n pn splsn, qus cfr scnd pc pù dll mà. Pr qus mv s cpsc cm Nscp r pc l'nzn d clr ch s sn vvcn ngl ulm mmn d Inrn ddrur l pssn gudcr nfrr d Explrr, m bsgn cmprndr cm qus scà, ffvmn n dffclà, s dfndnd cò ch fnr h f d bun, r cu l sss Jvscrp, l'ulzz d vrsn prcdn d qul brwsr s rvln ncr ffcn sbl, mnr l Mcrsf h dvu clssr l su. L vr nvà nrd d Mcrsf d Nscp crn cnnu dsrnmn spss s prd d vs l vr frz d Jvscrp: l cmpblà cn brwsr nch pù d. Un s prgrmm n HTML n Jvscrp (nll su vrsn 1.1 m nch 1.2) scurmn srà vsbl d qus l 90% d nvgr ( l cfr è dsn slr). 5

2. Asp crrsch gnrl Jvscrp è ml smplc d mprr pr ch gà cnsc lngugg sml cm l C++ Jv, m nn è nnch dffcl pr ch s vvcn pr l prm vl qus lngugg, d l su smplcà snc mnggvlzz. Tuv cò può rpprsnr un'rm dpp gl prché l smplcà s gc nch su un dspnblà lm d gg qund lcun prcdmn, ll'pprnz ml smplc, rchdn scrp bbsnz cmplss. Qund, cn l nsr nvgr, lggm un dcumn HTML gl gg prsn nll pgn (d ndvdubl grss md d vr TAG) sgun un cr grrch d nrprzn. Cè, l brwsr, l lgg cn scrupls rdn prdfn c ffr l rsul fnl ll nsr vs. E', prpr sgund qus grrch ch n pssm, cn JvScrp, nrvnr su gnun d qus gg HTML, cmbnd, pcmn dl prgrmmr, l crrsch. Gl gg l lr grrch d nrprzn sn rssun nll sgun bll. L grrch prsn nn s dv nndr cm dfnv pché gn vrsn d brwsr prbb ggungr lmnr lmn. Anch n qus dcumn prbbr ssr c gg nn prsn nll grrch spr prsn. L crrsc prncpl d Jvscrp, nf, è qull d ssr un lngugg d scrpng, m spru è l lngugg d scrpng pr ccllnz crmn qull pù us. Qus prclrà cmpr un nvl sr d vngg svngg scnd l'us ch s n dv fr nnd n cnsdrzn l rppr ch s nsur nl mccnsm cln-srvr. Spgnd n prl ml smplc qus'ulm rppr, pssm dr ch l srvr nv d l cln qus d pssn rrvr n du dvrs frm: n frm s ( ASCII) n frm bnr ( cdc mcchn). Il cln s cmprndr sl l frm bnr (cè l squnz d 1 0), pr cu s d rrvn n qus frm dvnn mmdmn sgubl ( purrpp snz l pssblà d ffur cnrll), mnr s l frm è dvrs dvn ssr nrpr rd n frm bnr, qund l cln h bsgn d un flr mgl d un nrpr ch spp lggr qus d l pss rdurr n bnr. I d n frm s sn vsbl ll'un cm smplc cmbnzn d crr d prl, qund d fcl mnplzn, m rchdn pù mp pr l lr nrprzn cus d pssgg dll rsfrmzn ch dvn subr pr ssr cmprs dl cln; d n frm bnr, nvc, sn d dffcl (mpssbl) cmprnsn d pr dll'un, m mmdmn sgubl dl cln, snz rchdr pssgg nrmd. Effu qus prmss lngugg d sl ulzz pr l Wb s pssn suddvdr n qur plg: 1. HTML: è n frm s nn è un lngugg nl sns rdznl, m un mpgnr pr cnsn d psznr dgl gg nll pgn cn l crrsch ndc, nurlmn pr l su pculrà rsul ssr sc nn nrgsc cn l'un nn può prndr dcsn s nn pr frmulr, mnr pr l su nrprzn h bsgn d un brwsr; 6

2. lngugg cmpl: sn qu lngugg bbsnz cmplss n cu l srgn (un fl d s cn l przn d sgur) vn cmpl n cdc mcchn vn mpcch n un sgubl ulzzbl sl nll frm pr l przn pr cu è s prg; 3. lngugg smcmpl: n rlà qus clss pprn sl Jv prché è un lngugg cmpl n un frm nrmd r l fl ASCII l fl bnr, l frm s chm bycd v nrpr sul cln d un mcchn vrul chm Jv Vrul Mchn, n l md ll' dll rczn l mcchn cmpl l cmplzn rnd l fl sgubl; 4. lngugg nrpr: sn qu lngugg ch rsuln ml sml ll'html, m hnn pnzlà mggr prché cnsnn d ffur cnrll przn cmplss, vngn nv n fl ASCII, qund cn cdc n chr ch vn nrpr d sgu rg pr rg dl brwsr n mdlà runm. Il cnc d scrp è bn sprss cn un smludn d Mchl Mncur. Scrp n ngls sgnfc "cpn" "scnggur", d, nf, l'ulzz è prpr qus: l brwsr lgg un rg, l nrpr l sgu, p pss ll succssv f l sss cs, csì d sgu fn ll chusur dll scrp. Vngg svngg Qul sn vngg gl svngg r lngugg d scrpng lngugg cmpl? Crchm d rssumrn qulcun: l lngugg d scrpng è pù scur d ffdbl prché n chr d nrprr, qund può ssr flr; pr l sss Jvscrp l scurzz è qus l, prché sl ll su prm vrsn rn s sgnl dl CIAC (Cmpur Incdn Advsry Cmm) d prblm d lv nà, r cu l lur dll cch d s vs, dll'ndrzz -ml d fl prsn su dsc, l "fll", prò, sn s crr gà cn l vrsn d Nscp succssv ll 2.0; gl scrp hnn lm cpcà, pr rgn d scurzz, pr cu nn è pssbl fr u cn Jvscrp, m ccrr bbnrl d lr lngugg vlu, mgr pù scur, cm Jv, l lmzn è ncr pù vdn s s dsdr prr sull'hrdwr dl cmpur, cm d smp l "sgg" n umc dll rsluzn vd l smp d un dcumn; un grss prblm è ch l cdc è vsbl può ssr l d chunqu, nch s ul cn l lgg dl cpyrgh, m qus è l przz d pgr d ch vul ulzzr l wb: l qusn d dr d'ur è s rvluzn cn l'vvn d Inrn (s vd spru l'mp3), l ul è ml lbl ndgu ll lgg ul, pr cu ccrr prndr l suzn cn ml flsf; l cdc Jvscrp vn sgu sul cln pr cu l srvr nn è sllc pù dl dvu; un scrp sgu sul srvr, nvc, sprrbb qus d un dur sllczn srvr d cpcà pù lm n prbbr rsnr s nrrg d pù un; l cdc dll scrp dv ssr scrc cmplmn prm d pr ssr sgu, qus è l rsvl dll mdgl d qun d prcdnmn, pr cu s d ch un scrp ulzz sn nssm (d smp un rccl d czn d msrr n mnr csul), cò cmprrbb un lung mp d scrcmn, mnr l'nrrgzn dll sss dbs sul srvr srbb pù rpd. 7

L dvrs vrsn E' s f l'ccnn ll'emca, pr cu è d'bblg un pprfndmn, nch prché nn bbm m rv rfrmn nll gud Jvscrp n ln cnsul fnr, m spulcnd r qull uffcl, nn mncv m un'ndczn qus ssczn. Innnzu l'ecma (rducnd fdlmn) è un'ssczn nrnznl d ndusr bs sull'eurp, fnd nl 1961, ddc ll sndrdzzzn d ssm d cmunczn d nfrmzn. Pr ch vlss sprn d pù l s è: hp://www.cm.ch. Adrscn ll'ssczn n qulà d mmbr rdnr scà cm l sss Nscp Mcrsf, l Sun, l'ibm, l Cmpq, l Phlps, l'hwl-pckrd, l'inl, mnr sn mmbr ssc lr scà cm l Msubsh Elcrc, l Qunum, l Rckwll. Nscp Cmmuncns prsnò Jvscrp ll ECMA pr l sndrdzzzn nll'uunn 1996. L'Assmbl Gnrl dll'ecma h d l lngugg cm sndrd nl gugn 1997. L vrsn prsn r l 1.1, pr cu è qus d ssr gudc sndrd pr l mv dfn ECMAScrp ECMA-262 (l dcumnzn cmpl è rprbl prss l s dll Nscp hp://dvlpr.nscp.cm/dcs/mnuls). Vrsn JScrp Jvscrp JScrp d Mcrsf nll su vrsn 3.0 (vld pr Explrr 4.0), qund, mplmn cmplmn l'ecmascrp, m ggung nch u l crrsch d Jvscrp 1.2. Crchm, cmunqu, d dr un bll cmprv r brwsr vrsn d Jvscrp JScrp, l bll srà ulssm nch n sgu: Jvscrp Jscrp 1.0 1.1 1.2 1.3 1.0 3.0 5.0 Nscp 2.0 Nscp 3.0 Nscp 4.0 Nscp 4.06 Explrr 3.0 Explrr 4.0 Explrr 5.0 DHTML Tuv ccrr cnsdrr ch nll ulm vrsn d brwsr, spru d pr d Mcrsf, s è nrd l DHTML: s s dvss dr un dfnzn d qus lngugg, srbb un'mprs. Abbm spulc r l dcumnzn uffcl dll Mcrsf, m smbr ch nch lr bbn l d cnfus: n un FAQ ll dmnd prcs "Ch cs è DHTML", u s dc rnn ch l rsps. L nsr pnn è qus: JScrp r vncl d un sndrd, VBScrp r rm supr nll'mplmnzn l cln, l Mcrsf h r fur dl clndr qus prd ch s prsn cm un HTML vnz, prché nsrsc l sruur DOM (Dcumn Objc Mdl) vvr, l mdll d dcumn d gg n cu l dcumn vn dvs n lmn pù smplc cu s pplc un prgrmmzn rn gl gg. DHTML h nrd dvrs nvà nll prgrmmzn cln d un pgn wb, d è crmn un srumn pn, nz, ml pn, n d rsulr qus ncnrllbl. 8

Un gnrc DOM è prsn nll fgur ssn: Wndw vn frms lcn hsry nvgr scrn dcumn Frm[] Plugn[] Appl[] Anchr[] Ar[] Img[] Lnk[] Lyr[] Txr Tx FlUpld Psswrd Hddn Subm Rs Rd ChckBx Bun Slc Opns[] 9

3. I prm rudmn dl lngugg TAG <SCRIPT> Dp vr prl n gnrl dgl scrp, ccrr pssr ll prc vdr cm nsrrl nll pgn HTML. L spgzn rsul bbsnz cmplss spru prché Jvscrp rm s ngr csì bn n HTML d nn vr pù spz dfn, m è pssbl rvrl vunqu. L'HTML prvd un g pps pr gl scrp, l g é: <SCRIPT><! cdc //--></SCRIPT> s nrnn nch d smbl ll'nrn d g, pr l mmn ccnnm sl dr ch hnn un lr ulà, s spghrà p qul è. Tl g, pssn ssr n numr vrbl, l'unc nzn s nl chudrl gn vl ch vngn pr. I brwsr rcvn l pgn HTML cn u l cnnu, qund s ncnr l g <SCRIPT> qus vn sgu cm u gl lr g, dll'l n bss, m l su cnnu è nrpr scnd un cdc dvrs: n l md s l brwsr cmprnd l cdc, qus vn sgu, s s ncnr un rrr nll'scuzn dll sss cs sn du: l pgn vn vsulzz, m l cdc rr nn vn sgu; s l cdc gnr un lp (cé un ccl nfn) l pgn rs bnc vsulzz przlmn prché l'scuzn dll'l n bss dl cdc HTML è mmnnmn nrr. Csì cm scr, prò, l g <SCRIPT> nn è cmpl prché lngugg d scrpng sn dvrs, llr ccrr mr nch l spcfczn dl lngugg d è: <SCRIPT Lngug="Jvscrp"><!-- cdc //--></SCRIPT> Cò prbb bsr, m ngl ulm rfrmn, spru d pr d Nscp, s cnsgl vvmn d ndcr nch l vrsn d Jvscrp ch s dpr, spru prché l'vluzn dl lngugg è cnnu nn smpr sscur l cmpblà cn vcch brwsr. In l md s ccul l cdc brwsr ch nn pssn gsr gl ggrnmn dl lngugg (pr l vrsn d Jvscrp s fcc rfrmn ll bll prcdn). All luc d qun d, l prcdn scrp può ssr cnsdr vld pr l vrsn 1.0 d Jvscrp, qund pr u brwsr, mnr un scrp dl gnr: <SCRIPT Lngug="Jvscrp1.2"><!-- //--></SCRIPT> dvn lggbl sl d Nscp 4.0 Explrr 4.0 dll lr vrsn succssv. V chdr nch cm fr cnscr u l cmpblà: bbn nn c'è nssun prgrmm ch u n cò, ccrr cnscrl fnd ppur usr un md mprc: sr l pgn su dvrs brwsr sgnlr l ncmpblà, s qus dpndn dll vrsn d Jvscrp, mschrrl cn l'ndczn dll vrsn. Rchm dgl scrp In ln d prncp un scrp può ssr nsr n du md ll'nrn d pgn HTML (un'cczn è rpprsn dgl scrp dl srvr cr cn LvWr): nsrnd l cdc nl dcumn; crcndl d un fl srn. 10

l'us dl fl srn, nf, è d dl lm d dmnsn d 32K ch dv rspr un pgn wb. Scrp Esrn In qus'ulm cs (è nch qull pù smplc spgrs) l scrp è slv n un fl cn snsn.js. Vn rchm cn l'rbu SRC dl g SCRIPT: <SCRIPT Lngug=Jvscrp SRC="nmfl.js"><!-- //--></SCRIPT> dv l spcfczn d Lngug è fclv, pché l sss snsn dl fl bs dmsrr l lngugg dpr, m s cnsgl prpr pr dnfcr l vrsn. Il nm dl fl può ssr ndc cn un URL rlv sslu. Tl fl srn vn sgu ll'nrn dll pgn HTML, pr cu l scrp vn sl l cm fl d s, rsfr nll'html nll pszn d rchm qu sgu. Pr l mv l fl v slv cm s ASCII, snz crr d cnrll snz g HTML lmn d lr lngugg pr nn gnrr rrr, s può dprr un qulss dr ml smplc. Il vngg d usr fl srn è mmns spru prché ppr l crrsc dll mdulrà pr cu un scrp ch rcrr d frqun può ssr scr un sl vl rchm n qulss pgn HTML qund srv, m u cò h un przz: funzn sl cn Nscp 3.0 d Explrr 4.0 nll vrsn succssv. Esmp 1.Scrvr cn Blcc N l sgun cmnd: lr('sn un fl srn'), slvrl cn l nm prv.js; 2. Scrvr n un lr fl l sgun cdc HTML: <HTML><HEAD> <SCRIPT SRC="prv.js"> </SCRIPT></HEAD> <BODY></BODY></HEAD></HTML> slvrl nll sss drcry dl fl Jvscrp cn snsn hml hml; 3.Crcr l pgn HTML n un brwsr. Scrp Inrn S l scrp è ll'nrn dl dcumn, può ssr mmss s nll szn d nszn (r g <HEAD></HEAD>) s n qull dl crp dl dcumn (r g <BODY></BODY>). Occrr nr prsn ch l pgn HTML vn sgu n rdn squnzl: dll'l n bss, pr cu l dffrnz r l du lrnv ss: l scrp dll'nszn vn crc prm dgl lr, qull nll szn bdy, nvc, vn sgu scnd l'rdn d crcmn. Ch cs cmb u cò? Bsgn cnsdrr ch un vrbl qulss lr lmn d Jvscrp può ssr rchm sl s crc n mmr: u cò ch s rv nll'nszn è qund vsbl gl lr scrp, qull ch s rv nll szn BODY è vsbl gl scrp ch l sgun. L scl dpnd nch d lr fr (cm l crzn dll pgn HTML n mnr dnmc), m srà p l'sprnz suggrrl. Esmp 1. Scrvr l sgun cdc HTML: <HTML><HEAD> <SCRIPT Lngug="Jvscrp"> x=1; lr('testa='+x); </SCRIPT></HEAD> <BODY> <SCRIPT Lngug="Jvscrp"> x++;lr('corpo='+x); </SCRIPT> <SCRIPT Lngug="Jvscrp"> 11

x++;lr('corpo='+x); </SCRIPT> </BODY></HEAD></HTML> 2.Prvr l cdc vrfcr l squnz d scuzn dgl scrp Brwsr nn cmpbl Prbbr ssr ulzz nch brwsr nn cmpbl cn Jvscrp ppur qull n cu Jvscrp è dsbl (è pssbl cn Nscp). In qus cs c vn n u l g <NOSCRIPT> </NOSCRIPT> ch può cnnr s grfc lrnv ppur un rndrzzmn n pgn sch, ch nn dprn Jvscrp, mdn l squnz: <NOSCRIPT> <META HTTP-EQUIV REFRESH CONTENT="0; URL=lrpgn.hm"> </NOSCRIPT> Cmmn punggur Cmmn I cmmn sn pr dl prgrmm ch nn sn l dll'nrpr ch, qund, srvn spgr chrr. Qus sn rcchus r brr srsch cm nll'smp s rpr: /*cmmn*/ Il cmmn può ssr ps su pù rgh su un rg sngl, mnr nn è cc dll'nrpr l cmmn nnd. Un lr p d cmmn è l dpp brr, prs prs dl lngugg C++, m è vld sl pr cmmn ps su un sngl rg, nch s nn l ccupn pr nr: n x: //cmmn I cmmn Jvscrp nn pssn ssr nsr l d fur d g ch ndvdun l scrp, lrmn HTML l cnsdrrà cm pr dl s, vcvrs nn s pssn ulzzr g d cmmn HTML ll'nrn dll scrp. L'unc cmmn mmssbl è qull ch cnsn d rcchudr u gl scrp n g d cmmn d HTML, fcndl prr dp l g d scrp chudr prm dll chusur dl g: <scrp lngug="jvscrp"> <!-- lr("wlcm!"); //--> </scrp> n l md s mschr l cdc jvscrp vcch brwsr ch nn l lggn s v ch l'html l pss cnsdrr cm s, qund, vsulzzr. Tuv ccrr nr prsn du ccrzz: lcun brwsr nn rcnscn l cmmn vsulzzn l scrp; lcun brwsr, spru Nscp nll vrsn pù vcch, hnn dffclà gsr l sgn > d fn cmmn, pr cu cnvn psznr nch un cmmn Jvscrp (//) prm dll squnz -->. 12

Spz Bnch Jvscrp nn bd gl spz bnch, rnn ch pr qull ch s rvn nll srngh, pr cu s pssn mr nch umnr. Il lr us, uv, cn l'dnzn umn l lggblà dl prgrmm pr cu sn vvmn cnsgl. Apc Imprn sn gl pc, s sngl (' ') ch dpp (" "). I dpp pc s dprn pr rcchudr pr d cdc Jvscrp,, nsm qull sngl, rcchudr nch l srngh (squnz d crr), pr cu ccrr fr nzn d nndr du srngh rcchus d pc sml, cm d ulzzr dpp pc pr l srngh s qus gà srvn rcchudr cdc Jvscrp. S s dsdr ch n un srng ppn pc dpp sngl cm pr ngrn dll srng sss, s fnn prcdr d un brr rvsc (\). Un dgl rrr ch s cmm d frqun, è prpr qull d nn ulzzr crrmn gl pc. Ad smp l cmnd: lr('qus s ' n csruzn') smbr ssr scr crrmn, m s sgu, l brwsr n blcchrà l'scuzn. Nscp msrrà qus rrr: mssng ) fr rgumn ls. lr('qus s ' n csruzn') pù lcnc Explrr, ch ndc sl: Prvs')'. S prsgurà lr, m l'rrr nn srà crr fnché nn s scrvrà lr('qus s \' n csruzn') Isruzn L sruzn hnn l rspnsblà d cnrllr l fluss d lbrzn dl cdc. Ess pssn: sgur rzn, cè rpr un pr d cdc pr un cr numr d vl; sgur dcsn cndzn; rchmr funzn (s vdrà n sgu cs sn); cnsnr l prcrs dll'scuzn d ssr mdfc dnmcmn. In Jvscrp gn sruzn nz d gn nuv rg cn l pun vrgl, cm ccd cl C cn Jv, m cnsgl vvmn d mprr d ulzzr pun vrgl, nn n pr cmpblà cn gl lr lngugg, qun pr vdnzr mgl csru. Esmp 1. Indvdur l sruzn nl sgun cdc: <SCRIPT Lngug="Jvscrp"> x=1;lr('prova'); x++ lr(riprova);y=x </SCRIPT> 2.L sruzn sn cnqu. Blcch d sruzn (csru squnz) Un'sruzn cmps, nvc, è frm d un grupp d du pù sruzn ch frmn un grupp lgc, nl sns ch l'scuzn dll sss è lg, d smp, l vrfcrs d un cndzn: l sruzn sn rggrupp n blcch ndvdu dll prns grff. 13

Mdlà d scuzn Dp vr vs l frm rdznl d nrfccmn dl cdc Jvscrp cn l cdc HTML, ffum un rssun d vr cnc rsp qus rgmn. Qus pr prbb pprr un pc fums prché ndrà ml pr vl pndrc, n qun l r frà l pr d ln, m ch nrssn, qus cnc pssn ssr rprs n sgu crmn pprrnn pù chr. L sruzn n Jvscrp pssn ssr sgu n dvrs md: ll'nrn dgl scrp, ndvdu d g <SCRIPT>, n mnr squnzl, pr cu l'scuzn è umc; crcndl d fl srn; n sgu ll'vzn d un vn (hndlr) cm un clck dl mus l prssn d un s (s vdrnn n sgu gl vn); n lug d un lnk ( prr d Nscp 3.0) nll frm: <A HREF="Jvscrp:cmnd"> vlr Jvscrp pssn ssr rchm dnmcmn dll'html ncludndl r crr &{ ;% d smp l lrghzz d un bll può ssr rcv n rppr d un vlr jvscrp nll frm wdh="&{brwdh;%" lgcmn l'ulzz dll qur pzn vr scnd l'bv d rggungr. Csì s l cdc Jvscrp v sgu n mnr squnzl bs nsrr un scrp, mnr s v sgu n sgu l rlzzrs d un vn, ccrr prr cn un hndlr cmbn d un funzn. Esmp 1. Scrvr l sgun cdc nr cm gl scrp vngn sgu n sgu qul vn: <HTML><HEAD></HEAD> <BODY> <SCRIPT Lngug="Jvscrp"><!-- lr('scrp'); //--></SCRIPT> < hrf="#" nmusvr="lr('h pss l mus')">pss l mus</> < hrf="jvscrp:lr('h clcc')">clcc qu</> </BODY></HTML> 14

4. Gl vn Innnzu ccrr fr un prmss: nl dcdr l'rdn dgl rgmn d rr rvm bbsnz ndcs n qul pszn prr qus rgmn, qull d ss cllg, n qun n lcun s gl vn sn r prm dll funzn, mnr n lr dp. L scl nn r ndffrn prché l'rgmn cmpn un pr bbsnz crps dll r Jvscrp, s ps n un pszn sbgl, rsch d rmpr l squnzlà dll rzn. P bbm p pr l pszn ul n qun l'rgmn è ml ffn ll rzn dgl Scrp n gnrl, m sm cscn d rschr d rndrc pc cmprnsbl nf, pr cu vgln qus pprndr qun sps d sgu dnd pr scn lcun ffrmzn, spru sull funzn ffrnnd lcun smp fclzznd prclrmn l'nzn sull'us dgl hndlr. Gl vn sn ulzz pr rchmr dll sruzn. Inf, l scrp v sgu n mnr squnzl, m pr fr n md d nsrr l dnmcà l'nrvà ccrr ch qus rs crc n mmr s v rchm sl qund s vrfcn prclr suzn cm l pssgg dl mus, l crcmn d un dcumn, cc. Il prblm dll cnclzn cn l funzn s nl f ch d un vn può ssr ssc un sl sruzn, m l pù dll vl l'ssczn è f cn un blcc d sruzn, qund, cn l funzn ch prndn l nm d hndlr gsr d vn. Gl vn, pr pr nrfccr HTML cn Jvscrp, nn vngn dfn nl g <SCRIPT> (rnn ch n qulch cs), m sn nsr ll'nrn d g HTML: l brwsr cmpbl cn Jvscrp ncnrnd un vn l nrpr l v. Esmp: <A HREF="jssrn.hml" nclck="lr('c')">lnk</a> nm cm l'vn nclck s nsr nl Tg cm s fss un spcfcr dll sss. E' mprn cpr qus cnc prché Jvscrp gl nz vv pch vn d rn vbl sl s nsr n prclr g cp spss d ulzzr gl hndlr n mnr rbrr d cnsdrr cm rrr l mnc vzn d un vn qund nsr n g ncmpbl. Inrn Explrr nll ulmssm vrsn h llrg l pssblà d ulzz dgl vn, pr cu pssn ssr nsr n nssm g, mnr Nscp è rms fdl ll rgnr mpszn. Qus prbb ssr un bn un ml, m pr sprnz prfrsc l srg d Nscp n qun gl vn prbbr ndr n cnfl, s nnprsn, prbbr dvnr ncnrllbl. Avr gl vn ll nrn dgl scrp Gl vn, uv, s pssn nch vr drmn ll'nrn dgl Scrp, rchmbl cm s fssr un prprà dll'gg. L snss è: Ogg.vn=hndlr; Pr chrr qus cnc ch è ulssm, m rrmn s vd pplc, pssm cnsdrr l cs n cu s ncssr crr un scrp ch cnsn d smulr l srmng, cè d crcr un'mmgn d un squnz sl qund sm scur ch qull prcdn r gà s crc qund vsulzz. Usr un mprzzr r mpssbl prché l'ff vrv scnd l vlcà d cnnssn. Un sluzn prbb ssr d crr un rry d mmgn sul qul s pr cn l cmnd: dcumn.mgs[num].nld=crc(); dv l funzn crc() srvv crcr l'mmgn succssv. Tu funznv ll prfzn, nch s cn qulch pccl vrzn scnd brwsr. Cn Explrr, nvc, s può ulzzr un Scrp pps pr un gg pr un vn rm l snss: <SCRIPT FOR=Objc EVENT=vn>...</SCRIPT> 15

Rggruppr gl vn Ngl ulm mp gl vn s sn mlplc d è dffcl nrn rcc, qund, pr fclà crchm d rggrupprl n szn mgn: Evn vbl d s dl mus Evn vbl d mvmn dl mus Evn vbl dl rscnmn dl mus (drg nd drp) Evn vbl dll'un cn l sr Evn vbl dll mdfch dll'un Evn lg l "fuc" Evn vbl dl crcmn dgl gg Evn vbl d mvmn dll fnsr Evn lg prclr bn Alr nuv p d vn N prm du grupp sn nsr qugl vn pc dl mus dll sr, cm l mvmn l prssn, ngl lr sn nsr gl vn srmn crrl gl gg. Il rggruppmn s rchd prché n n rzn gl vn sn dscr snglrmn è c, nch s vvngg l'nls, sgrl l sns: ch nvc è ulssm nll suzn pù nrc. Prm dll dscrzn ncpm ch u gl vn hnn l prpr snss cmps sncmn dl lr nm cl prfss n, d smp l'vn clck è rchm cn l'hndlr nclck. I drò un snss f d muscl mnuscl pr vdnzr bn l'vn, m ccrr nr prsn ch n Nscp 3.0 l'vn è pr d Jvscrp pr cu dv ssr scr u n mnuscl. Evn vbl d s dl mus A qus grupp s pssn rcndurr sgun vn: nclck: v qund s clcc su un gg; ndblclck: v cn un dpp clck; nmusdwn: v qund s schcc l s snsr dl mus; nmusup: v qund s lz l s snsr dl mus prcdnmn schcc; ncnxmnu: v qund s clcc l s dsr dl mus prnd l CnxMnu. Gl vn nmusdwn nmusup sn v d du mvmn dl s dsr dl mus, l prm qund s prm gù l s l scnd qund s sllv dp l clck. Il dpp clck è un vn ch nglb gl lr, pr l prcsn, v n succssn nmusdwn, nmusup, nclck. Vrsn cmpblà L'ulzz d qus vn è lm d dvrs fr. Innnzu ccrr cnsdrr l vrsn d Jvscrp cu fnn pr cnsgunmn lcun nn sn vld pr u brwsr. Ecc l qudr rplgv (NN s pr Nscp IE pr Inrn Explrr): NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp nclck 1.0 OnDblClck 1 1.2 nmusdwn 1.2 16

OnMusUp 1.2 OnCnxMnu DHTML 1 L vn ndublclck nn funzn su Mc Vlr ru fls L'vn nclck cn JvScrp 1.1 h ggun l pssblà d rcvr un vlr ru fls rm l qul può ssr v mn. Tl pssblà è vld nch pr gl vn nmusdwn nmusup pr ncnxmnu. Esmp: <A HREF="jsnrn.hm" nclck="rurn(cnfrm('s scur'))"> l lnk s v sl s s rspnd OK ll fnsr Il vngg è ch l'vn nclck s v prm dl g ssc pr cu s è un lnk, qus è crc dp l cmplmn dll'sruzn ssc. In l md qus crrsc s può pplcr pr rd chckbx pr nn slznrl, pr bn, cmprs qull Subm Rs, pr cnsdrrl nn prmu, rnn ch pr un pccl bug ch rnd nn frubl l'pzn pr l Rs su lcun pfrm. Inrssn l'vn ncnxmnu, nch prché spss s chd d dsblr l s dsr dl mus, m funzn sl cn Inrn Explrr 5.0. Tg Snsbl Un lr lm pr Nscp d Explrr nll vcch vrsn è d d g su qul può ssr v T g Evn s s c n N s c p J S c r 17

18 p OnClck Q u s g s r è u s c n p u l s n d n v ( s u b m ), p u l s

19 n d r s ( r s ), c s l l d c n r l l ( c h c k b x r d ), b

20 n, g < I N P U T > d p O P T I O N g < A >. ndblclck U s c n g < B O D Y >

21 < A > nmusdwn U s c n b n g < B O D Y > < A > nmusup U s c n b n

22 g < B O D Y > < A > ncnxmnu N s s u n p r c h é f u n z n s l n E x p l r r 5

. 0 Ml pù numrs g ssc n Explrr 4.0 succssv u p d vn: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP. Evn vbl d mvmn dl mus A qus grupp s pssn rcndurr sgun vn: nmusovr: v qund l mus s muv su un gg; nmusou: v qund l mus s sps d un gg; nmusmv: s muv l punr dl mus, m pché qus vn rcrr spss (l'ulzz dl mus è frqun), nn è dspnbl pr dful, m sl bbn cn l cur dgl vn, cm s spghrà n sgu. Gl vn nmusovr nmusou sn cmplmnr n qun l prm è v nl mmn n cu l punr è ps nll'r dll'gg l cu g cnn l'vn l scnd qund n sc. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp OnMusOvr 1.0 OnMusOu 1.0 OnMv 1.2 Gl vn nmusovr d nmusou ssumn dll vrsn 1.0 ll 1.1 d Jvscrp l cpcà d ssr ssc l g AREA, pr cu può prr nch cn l mpp clccbl, m pr Nscp dv ssr ssc nch l g HREF, cè d un lnk, nch s fz. Tg Snsbl Un lr lm pr Nscp d Explrr nll vcch vrsn è d d g qul può ssr ssc T g Evn s s c n N 23

24 s c p J S c r p OnMusOvr Q u s g s r è u s c n p u l s n d n v (

25 s u b m ), p u l s n d r s ( r s ), c s l l d c n r l l ( c h c k b x

26 r d ), b n, g < I N P U T > d p O P T I O N g < A >. OnMusOu U s c

27 n g < B O D Y > < A > OnMusMv U s c n b n g < B O D Y > < A > Ml pù numrs g ssc n Explrr 4.0 succssv u p d vn: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg,

INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP Rllvr Imprnssm l'vn nmusovr bbn d nmusou pr crr l'ff RllOvr. L snss è ml smplc: < hrf="#" nmusovr="dcumn.mgs[0].src='mmgn2.gf'" nmusou="dcumn.mgs[0].src='mmgn1.gf'"><mg src="mmgn1.gf"></> dv l cncll ssusc qulss lr lnk, mnr num è l numr d ndc dll'mmgn nll pgn HTML. Qulch nn f, qund nn ssvn prgrmm cm Flsh, l rllvr r l'ff grfc pù dffus crmn qull pù d rndr dnmc un s mvmnr lmn sc cm mnu l brr d nvgzn. Anzn! mgs[num] ndvdu l numr d ndc dll fgur nll pgn s n cnnd l numr d g IMG cnnd d 0 fn gungr l g dll fgur ch c nrss. Evn vbl dl rscnmn dl mus A qus grupp s pssn rcndurr sgun vn: ndrgdrp: vn v qund un un rscn un gg sull fnsr dl brwsr qund rlsc un fl sull sss; nmv: v qund un gg muv un fnsr un frm; ndrgsr: vn v ppn l'un nz rscnr un gg; ndrg: v qund l mus rscn un gg un slzn d s nll fnsr dll sss brwsr nch d un lr nch sul Dskp; ndrgenr: v ppn l'un rscn un gg su un bv vld dll sss d un lr brwsr; ndrgovr: v qund l'un l'un rscn un gg su un bv vld d sprl, d è sml ll'vn prcdn, m vn v dp qull; ndrglv: v qund l'un rscn un gg su un bv d pr sprl, m nn v vn rlsc; ndrgend: v qund l'un rlsc l'gg l rmn dl rscnmn. ndrp: v qund l mus s lz l s dl mus n sgu d un'przn d rscnmn; D qus sl l prm l scnd sn v n Nscp n Explrr, gl lr funznn sl n Inrn Explrr 5.0 l'rdn d dscrzn è qull d vzn dll'vn. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp OnDrgDrp 1.2 OnMv 1.2 OnDrg DHTML OnDrp DHTML 28

OnDrgSr DHTML OnDrgEnr DHTML OnDrgLv DHTML OnDrgOvr DHTML OnDrgEnd DHTML Tg Snsbl Alr lm è d, pr Nscp pr l vcch vrsn d Explrr, d g cu l'vn può ssr ssc: Evn Tg Assc OnDrgDrp Qus vn è us cn wndw OnMv Qus vn è us cn wndw Ml pù numrs g ssc n Explrr 4.0 succssv u p d vn: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP Evn lg ll sr A qus grupp s pssn rcndurr sgun vn: nkyprss: vn v qund un un prm rlsc un s nch qund l n prmu; nkydwn: v qund vn prmu l s; nkyup: vn v qund un s, ch r s prmu, vn rlsc; nhlp: v qund l mus schcch l s F1; L'ulm vn è s nurlmn nsr n qus sr, nch s vbl dll'unc s F1. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp nkyprss 1.2 nkydwn 1.2 nkyup 1.2 nhlp DHTML Nscp pr Unx Lnux nn suppr l gsn d s Tg Snsbl Alr lm è d, pr Nscp pr l vcch vrsn d Explrr, d g cu l'vn può ssr ssc: Evn nkyprss Tg Assc Qus vn è us cn g <BODY>, <IMG>, <A> npu TEXTAREA 29

nkydwn Qus vn è us cn g <BODY>, <IMG>, <A> npu TEXTAREA nkyup Qus vn è us cn g <BODY>, <IMG>, <A> npu TEXTAREA Ml pù numrs g ssc n Explrr 4.0 succssv u p d vn: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP Ts Inrcbl In Inrn Explrr 4.0, l'vn nkydwn funzn cn s: DELETE, INSERT Ts funzn d F1 - F12 Lr: - z Ts d spsmn: HOME, END, Lf Arrw, Rgh Arrw, Up Arrw, Dwn Arrw Numr: 0-9 Smbl:! @ # $ % ^ & * ( ) _ - + = < > [ ] {,. /? \ ' ` " ~ Ts d ssm: ESCAPE, SPACE, SHIFT, TAB In Inrn Explrr 5 funznn nch s: BACKSPACE PAGE UP, PAGE DOWN SHIFT+TAB Evn lg ll mdfch A qus grupp s pssn rcndurr sgun vn: nchng: v qund l cnnu d un cmp d un frm mdul è mdfc nn è pù slzn; ncllchng: v qund s mdfc un lmn n un Dbs, pr qus su crrsc h un us nn prprmn lg Jvscrp; nprprychng: vn v qund cmb l prprà d un lmn; nrdyschng: vn v qund l s dl crcmn d un lmn cmb, l'vn è ul, d smp, pr vrfcr ch un lmn s s crc. 30

Imprn è dr qulcs n pù su nchng: l'vn ssmgl ml d nblur, m vrfc nch ch l'lmn ch l rchm s s mdfc. Qus vn, nf, è v qund vn slzn un lr lmn d un ls qund s mdfc un cmp d s, pr cu lr ll'vzn, ccrr nch prr un'zn. Esmp d nchng prm Il cdc d mr nl g slc (fr nzn ll'vn): <slc nm="slc" nchng="f(hs.pns[1].slcd) lr('h slzn l scnd'); ls f(hs.pns[2].slcd) lr('h slzn l rz') "> <pn vlu="un">prm</pn> <pn vlu="du">scnd</pn> <pn vlu="r">rz</pn> </slc> Gl lr r vn sn frmn lg ll nvà ppr d Inrn Explrr 5.0 pr cu nn hnn pssblà d un grnd dffusn vnn ulzz dp vr pprs un cr prgrmmzn vnz. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp nchng 1.0 ncllchng DHTML nprprychn g nrdysch ng DHTML DHTML Tg Snsbl Alr lm è d, pr Nscp pr l vcch vrsn d Explrr, d g cu l'vn può ssr ssc: Evn Tg Assc nchng Qus vn è us cn g <SELECT> <TEXTAREA>, l g <INPUT> d p TEXT. Cn l vrsn Jvscrp 1.1 s ggung nch l g <FILEUPLOAD>, m nn funzn cn Inrn Explrr. OnCllChng Qus vn è us cn g <APPLET>, <BDO>, <OBJECT>. Pr lcun vn d Inrn Explrr 5.0 g ssc sn numrs, csì pr nprprychng nrdyschng: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP 31

Evn lg l "fuc" A qus grupp s pssn rcndurr sgun vn: nfcus: Qus hndlr è l'pps d nblur pr cu s v qund l'un nr n un cmp; nblur: v qund l punr dl mus l cursr sc dll fnsr crrn ulzznd l mus l crr TAB. Applc mdul, nvc, l hndlr s vv s s sc dl cmp l cu g cnn l cnrll; nslc: vbl qund s slzn dl s ll'nrn d un csll d s s cl mus s nnd prmu SHIFT slznnd cn s Frcc; nslcsr: s v qund s nz slznr un vn; nbfredfcus: s v cn un dpp clck cn un clck su un gg ch h gà l slzn, qund qus è n DsgnMd; nlscpur: s v qund un gg prd l cur dl mus. Gl ulm r vn sn prclrà d Inrn Explrr 5.0 rchdn ulrr cnscnz pr pr ssr dpr. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp OnFcus 1.0 OnBlur 1.0 OnSlc 1.0 OnSlcSr DHTML OnLsCpur DHTML OnbfrEdF cus DHTML Tg snsbl Alr lm è d, pr Nscp pr l vcch vrsn d Explrr, d g cu l'vn può ssr ssc: Evn OnFcus OnBlur OnSlc Tg Assc Qus vn è us cn g <SELECT> <TEXTAREA> cn l g <INPUT> d p TEXT. Cn Jvscrp 1.1, cè d Nscp Nvgr 3, qus hndlr è s ssc nch cn g <BODY> <FRAMESET> cn l rs d g d frm cm <BUTTON>, <CHECKBOX>, <FILEUPLOAD>, <PASSWORD>, <RADIO>, <RESET>, <SUBMIT>. In Jvscrp 1.2 s ggung nch l g <LAYER>. Qus vn è us cn g <SELECT> <TEXTAREA> cn l g <INPUT> d p TEXT. Cn Jvscrp 1.1, cè d Nscp Nvgr 3, qus hndlr è s ssc nch cn g <BODY> <FRAMESET> cn l rs d g d frm cm <BUTTON>, <CHECKBOX>, <FILEUPLOAD>, <PASSWORD>, <RADIO>, <RESET>, <SUBMIT>. In Jvscrp 1.2 s ggung nch l g <LAYER>. Qus vn è us cn l g <TEXTAREA> <INPUT> d p TEXT, nch pr Inrn Explrr. 32

In qulch pfrm gl vn nblur nfcus nn funznn bn cn l g <FRAMESET> Ml pù numrs g ssc n Explrr 4.0 succssv pr gl vn nblur, nfcus, SlcSr nlscpur: A, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, HR, I, IMG, INPUT yp=bun, INPUT yp=chckbx, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP Evn d crcmn dgl gg A qus grupp s pssn rcndurr sgun vn: nld: Qus hndlr funzn nl crcmn d gg, pr l pù fnsr mmgn; nunld: è l'pps dl prcdn funzn qund s lsc un fnsr pr crcrn un'lr nch pr rcrcr l sss (cl s rfrsh); nabr: funzn qund l'un frm l crcmn d un gg clccnd su un lr lnk prmnd l s sp dl brwsr; nerrr: s v qund l crcmn d un gg cus un rrr, m sl s qus è dvu d un rrr d snss dl cdc nn dl brwsr csì funzn su un lnk rr d un'mmgn dll pgn, m nn su un lnk rr d crcmn d un pgn nr; nbfrunld: qus hndlr funzn ll sss md d nunld m s crc n un mmn prm; nsp: qus hndlr funzn qund s frm l crcmn dll pgn cn l s sp dl brwsr dvrbb funznr nch ll sss md d nunld crcnds prm d qus m dp nbfrunld. Gl ulm du vn sn prclrà d Inrn Explrr 5.0 rchdn ulrr cnscnz pr pr ssr dpr. Pr l vrsn d Jvscrp cc l qudr rplgv: NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp OnLd 1.0 OnUnld 1.0 OnAbr 1.1 OnErrr 1.1 OnBfrUnld DHTML nsp DHTML Tg snsbl Alr lm è d d g cu l'vn può ssr ssc: nld Tg ssc n Nscp Jscrp Qus vn è us cn g <BODY> <FRAMESET> d Jvscrp 1.1nch cn <IMG> 33

nunld nabr nerrr nbfrunl d nsp mnr n Explrr ccrr ggungr nch g <SCRIPT>, <LINK>, <EMBED>, <APPLET>. In Jvscrp 1.2 n Nscp s ggung nch l g <LAYER>. Qus vn è us cn g <BODY> <FRAMESET> nch n Inrn Explrr. Qus vn è us sl cn l g<img> nch n Inrn Explrr. Qus vn è us sl cn l g<img> cn Wndw mnr n Inrn Explrr nch cn <OBJECT> <STYLE>. Qus vn è us cn g <BODY> nch n Inrn Explrr. Qus vn è us cn g <BODY> nch n Inrn Explrr. nld Qus vn s bn ulzz prbb smulr un ff srmng mdn crcmn d gf jpg. Immgnm d vr dspszn un sr d jpg d nmr. Cn qus vn pssm sncrnzzr l vsulzzzn dll vr fgur ll fn dl crcmn dll prcdn mdn un scrp dl gnr: <scrp> vr whchimg=0; vr mximgs=5; funcn chnganmn(himg) { ++whchimg; f (whchimg <= mximgs) { vr mgnm="mg" + whchimg + ".gf"; himg.src=mgnm; ls { whchimg=-1; rurn; </scrp> pplc ll lmn <mg nm="chngnganmn" src="mg0.gf" brdr=0 lgn="p" nld="chnganmn(hs)"> nerrr Un prclr mnzn mr l'vn nerrr pr l su grnd ulà m pr l scrs ulzz ch s n f. Qus vn può: 1. spprmr mssgg d rrr ch l dbuggr msrrbb (mssgg dscr n Nscp, m nsc n Explrr) l u mdn l cdc d smp <mg src="crrup.gf" nerrr="null"> 2. s l cdc è sprss nll szn HEAD dvn v pr u l fnsr pr u gl vn d rrr v dgl gg v cnnu <scrp>wndw.nrrr=null</scrp> uv un vn nerrr ssc ll sngl mmgn gg cur l'vn pr qus mmgn gg dscp d qull gnrl 34

3. l'vn può fr d pù: può ndcr l p d rrr, l rg l'url ch l hnn cus ndcrl n un fnsr mmrzzrl n un rry. D sgu ndc l'sruv smp msr sul Rfrnc d Nscp ch srv csrur un dbuggr prsnlzz. Nll scrp c sn dgl rrr clccnd sul prm bn p sul scnd s pssn ndvdur: <scrp> wndw.nrrr = myonerrr msgarry = nw Arry() urlarry = nw Arry() lnarry = nw Arry() funcn myonerrr(msg, url, ln) { msgarry[msgarry.lngh] = msg urlarry[urlarry.lngh] = url lnarry[lnarry.lngh] = ln rurn ru funcn dsplyerrrs() { wn2=wndw.pn('','wndw2','scrllbrs=ys') wn2.dcumn.wrln('<b>errr Rpr</B> <P>') fr (vr =0; < msgarry.lngh; ++) { wn2.dcumn.wrln('<b>errr n fl:</b> ' + urlarry[] + '<BR> ') wn2.dcumn.wrln('<b>ln numbr:</b> ' + lnarry[] + '<BR>') wn2.dcumn.wrln('<b>mssg:</b> ' + msgarry[] + '<P>') wn2.dcumn.cls() </scrp> </p> <frm> <npu yp="bun" vlu="qus bn h un rrr d snss" nclck="lr('unrmnd srng)" nm="bun"> <p> <npu yp="bun" vlu="vsulzz l'rrr" nclck="dsplyerrrs()" nm="bun2"> </frm> Evn dl mvmn dll fnsr A qus grupp s pssn rcndurr du sl vn: nrsz: Qus hndlr s v qund l'un rmpcclsc ngrndsc un fnsr un frm, n cs prclr pr Explrr, un gg cu sn s fss l'lzz l lrghzz nch l pszn, cm d smp un lyr; nscrll: v qund s ffu l scrllng dll pgn s cl mus cn s PGUP PGDOWN nch cn l md dscrll. Pr l vrsn d Jvscrp cc l qudr rplgv n rss sn ndc l mdfch ppr nll dvrs vrsn d brwsr): Evn NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp nrsz 1.2 nscrll DHTML Tg snsbl Alr lm è d d g cu l'vn può ssr ssc: Tg ssc n Nscp Evn JScrp Qus gsr è us cn OnRsz l g <DOCUMENT>. OnScrll Qus gsr è us sl 35

n Explrr cn g <APPLET>, <BDO>, <BODY>, <DIV>, <EMBED>, <MAP>, <MARQUEE>, <OBJECT>, <SELECT>, <TABLE>, <TEXTAREA>. Ml pù numrs g ssc n Explrr 4.0 succssv pr gl vn nrsz: A, ADDRESS, APPLET, B, BIG, BLOCKQUOTE, BUTTON, CENTER, CITE, CODE, cusm, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FORM, FRAME, Hn, HR, I, IMG, INPUT yp=bun, INPUT yp=fl, INPUT yp=mg, INPUT yp=psswrd, INPUT yp=rs, INPUT yp=subm, INPUT yp=x, ISINDEX, KBD, LABEL, LEGEND, LI, LISTING, MARQUEE, MENU, OBJECT, OL, P, PRE, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TEXTAREA, TT, U, UL, VAR, wndw, XMP Evn d s prclr A qus grupp s pssn rcndurr sgun vn: nsubm: Qus hndlr è v dl clck su s d Inv d un frm; nrs: qus hndlr è v dl clck su s d Annull d un frm. sn du vn prclr lg du gg spcfc ch nn hnn sub ssnzl mdfch rsp l pss. Pr l vrsn d Jvscrp cc l qudr rplgv n rss sn ndc l mdfch ppr nll dvrs vrsn d brwsr): NN2.0 NN3.0 NN4.0 NN4.06 IE3.0 IE4.0 IE5.0 Vrsn Jvscrp nsubm 1.0 nrs 1.1 Tg snsbl Alr lm è d, pr Nscp pr l vcch vrsn d Explrr, d g cu l'vn può ssr ssc: T g Evn s s c n N s c p 36

nsubm nrs J S c r p Qus gsr è us cl g <FORM> s n Nscp ch n Explrr. Qus gsr è us cl g <FORM> s n Nscp ch n Explrr. 37

5. Vrbl, sprssn prr Vlr lrl I vlr lrl sn qunà splc pr cu nn vnn dchr srvn frnr nfrmzn d sprssn funzn (s.: l numr 45 è splcmn cnsdr numrc). In Jvscrp ssn dvrs p d vlr ch sn: numrc qul s dvdn n: Inr dcml, cn lngugg cnc, vrgl mbl (n nzn scnfc n qull sndrd) (Vlr nn prcs n Nscp 2.0) lgc bln: ch pssn ssumr sln du s (vr fls); srngh ( squnz d crr) vlr null crr spcl (s.: \f pr l'vnzmn pgn) gg Il lrl nr vn frn n r vrn: dcml, sdcml l scnd l bs cn cu vn rpprsn. Pr rpprsnr un l l s f prcdr d un 0, pr rpprsnr un sdcml l s f prcdr d 0x. Il vlr null s h qund l vrbl sn ndfn, cè qund nn v s ssgn nssun vlr ll' dll dchrzn. Imprn è slnr ch d un vrbl può ssr ssgn nch un gg s può nch crr un gg gnrc rm l'nunc: nmgg=nw Objc(); Crr spcl Tr l srngh ccrr ndcr crr spcl ch csuscn un mzz pr frmr l s: Dscrzn Dsgnzn sndrd Squnz Cnnuzn <nwln> \ Nuv rg NL (LF) \n Tb rzznl HT \ Bckspc BS \b Rrn crrll CR \r Avnzmn pgn FF \f Bckslsh \ \\ Vrgl sngl ' \' Vrgl dpp " \" Esmp d cdc spcl: <scrp> dcumn.wr("qus è un rg \n qus è un'lr"); lr("qus è un rg \n qus è un'lr"); </scrp> S n l dvrs ff sull lr sull fnsr dl brwsr. Cp spss, nf, d vlr ndcr ll'lbrr d dvr scrvr vd un srng suddvs n pù rgh, n qus cs l'ndczn è f cn un squnz d crr spcl. Un crr spcl, d smp, è prpr l'pc ch spss ssusc l'psrf prcò, n qus'ulm ulzz, v ndc 38

cm crr spcl fcndl prcdr d un brr rvsc. Il cmpur, n pch prl, qund rv qus prclr squnz s d dvr nrprr dvrsmn l crr, qus cm s fssr d cmnd. Escp d Unscp L srngh pssn ssr nrpr s cm squnz d crr cm rgh d cmnd. Un cmp d pplczn, d smp, è nl rmn d d nv l srvr, nch l cln, cn l md GET. In qus cs l scrp rcv d cm un srng cc (ppndd) ll'url rgnl n cu lcun squnz d crr ndcn vnn nrpr cm crr prclr cm l spz vu l sprr r vrbl vlr. Ad smp s ffu un rcrc su Alvs vdr ggungrs ll'url un sr d crr ch sgu un pun nrrgv, bbn, qu crr pprunmn r, frmn un srng ch nrrg l mr d rcrc. I crr scr n qull nzn s chmn squnz scp ulzzn l cdfc URL n cu: l cpp nm=vlr sn spr d un &; gl spz sn ssu d +; crr lfnumrc ssu dll'quvln sdcml prcdu d %. Pr dl lvr dl prgrmm CGI ch funzn su srvr è prpr qull d dcfrr l srng d npu n crr ISO-Ln-1, nn l squnz Uncd, m Jvscrp può lbrr qus srngh nch ll'nrn d prpr scrp mdn cmnd scp: scp("ecc qu")="ecc%20qu" cn unscp pr rndr l suzn cnrr: unscp("ecc%20qu")="ecc qu" Opprunmn ulzz, qus funzn s rvln ulssm ffrn ll'un un grnd grd d nrvà. Dchrzn vrbl L vrbl sn d nm smblc ch srvn d nvdur dll lczn d mmr n cu pssn ssr ps d vlr. Mfrcmn bsgn cnsdrr qus lczn cm dll scl cn un nm n cu s pssn nsrr qus vlr. In Jvscrp l vrbl sn cr cn l dchrzn vr, rbundl nch nssun vlr, m nch smplcmn ll' d ssgnzn d un vlr (d smp x=15 cr umcmn un vrbl numrc). L dchrzn vr su pù vrbl v rpu pr gnun ppur v f cn un'nrruzn d ln: vr mcrr, mvrbl; Pr l vrbl ch s dchrn s nzlzzn snz ssgnr un prclr vlr s rbusc l vlr null. Qus vlr può pprr pc mprn, m dvn ssnzl s s vul vrfcr l crcmn n mmr d un vrbl. Ad smp s s dchr un vrbl vr Vrfc=null; s s ulzz l cmnd f(vrfc!= null) lr("nn sn s ulzz"); 39

s può vrfcr s qus vrbl h vu un ulzz s vu. Un ulzz ml ul può ssr qull pplc ll fnsr ppup pr vrfcr s sn rms pr. Un lr vlr ch vn ssgn ll vrbl qund qus sn s dchr m snz ssgnmn è undfnd. Qus vlr è s nrd cn Jvscrp 1.3 è cc nll nrm ECMA. In l md l dchrzn: vr Vrfc; ssgn ll vrbl nssun vlr pr cu un vrfc su d ss rsusc l vlr undfnd l vlr s può vrfcr Esmp: f(vrfc == undfnd)) Ch h gà prgrmm cn lr lngugg nrà cn pcr l'srm flssblà d Jvscrp nl rr l vrbl, m l dchrzn nn è ncssr prché, pr l v brv d qus vrbl, nul rsprmr mmr. S s h fmlrà cn l prgrmmzn s s vul mnnr rdn r l vrbl, llr cnvn dchrrl nch n Jvscrp, pssblmn ll'nz dl blcc d cdc. Dv dchrr l vrbl? Dpnd dll'ulzz dll dsnzn ch c'è r vrbl glbl vrbl lcl. L dsnzn nn è pc cs, nz è ll bs dll prgrmmzn rn gl gg: l vrbl glbl hnn vlr pr u l dcumn HTML vnn dchr ll'nz dll scrp fur d gn funzn: l ps prfrbl è n g <SCRIPT> dll szn <HEAD> n md l d crr cnnr d vlr prm d gn lr ulzz; l vrbl lcl hnn vlr sl ll'nrn dll funzn n cu sn dchr, cè ll'nrn dl blcc d cdc cmprs r funcn(){ l chusur dll prns vnn dchr nr qus blcch. D cò s rcv ch l vrbl dchr ll'nrn d prns grff pssn ssr ulzz sl n qul blcc prchè sn vrbl lcl. I du dffrn p sn gnr d sgnz dvrs n qun l vrbl lcl hnn un v brvssm d ssn fnché pr l funzn, ll chusur dll prns vngn dsru lbrnd mmr, mnr l vrbl glbl sn d cnnr ch durn pr u l dur dll pgn srvn vclr d vlr r l funzn r gl scrp, m nch r l vr pgn l srvr. A qus pun v chdr prché ulzzr vrbl lcl, n qun qull glbl sn pù cmd, m l ncssà dl lr ulzz s nll mdulrà: l vrbl lcl rndn un scrp rulzzbl nch n lr pgn HTML, spru s slv n un fl srn cn snsn js. Idnfcr I nm d d sn chm dnfcr dvn ssr d lcun rgl: - pssn cnnr sl lr, numr rn d slnur, pr cu sn sclus gl spz bnch; - l prm crr dv ssr smpr un lr. E' ulzzbl cm prm crr nch l rn d slnur, m l cmplr r qul nm n md prclr pr cu s n scnsgl l'us; - Jvscrp è cs snsv pr cu r dvrsmn l lr n muscl n mnuscl, pr l mv è cnvnzn ulzzr l'nzl muscl pr nm d csn qull mnuscl pr l vrbl; - nn s pssn ulzzr nm ch rnrn nll prl chv. - L'us dffus è d ulzzr nm lungh pr dnfcr mgl l d, dprnd qus cnvnzn: 40

- dprr l rn d slnur pr dfnr mgl l d, csì l nm ss_nrss dnfc pù d qun pss fr l smplc nm x; - ccn ll'ulzz dl rn d slnur, s us nch l nzn cmmll pr cu s rnd muscl un lr ll'nrn dl nm d un vrbl, prpr pr dnfcrl mgl (d smp TssInrss). Prl chv In Jvscrp c sn dll prl chv ch nn s pssn ulzzr cm dnfcr d d, ccn l'lnc: Prl Chv dl lngugg Jvscrp bsrc D f pckg Thrw bln Dubl mplmns prv Thrws brk ls mpr prcd Trnsn by xnds n publc Tru cs fls nsncf rurn Try cch fnl n shr Vr chr fnlly nrfc sc Vd clss fl lng supr Whl cns fr nv swch Wh cnnu funcn nw synchrnzd dful g null hs Tp d vrbl I lngugg rdznl (cm l C) ulzzn sl vrbl ch sn s prcdnmn dchr pr du mv: mzzr l'us dll mmr; umnr l'ffdblà. Jvscrp, nvc, ulzz un cnrll d p lsc pr cu nn ss un szn d dchrzn d vrbl nn c'è bsgn d frl, m umcmn vn ssgn l p n bs ll dchrzn. Ad smp Prv="s" Prv=59 sn du dchrzn pnmn vld, m nl prm cs Prv è cnsdr gg srng, nl scnd l sss è cnsdr cm vlr numrc. S vlr dvrs vngn cncn prvl l vlr srng, pr cu un numr cncn d un srng prduc un srng, uv s l srng è un numr, l rsul srà un numr (s.: mvl=365+"10" drà 375). Tlr, prò, qus cnrll nn è smpr prcs (qund, d smp, s mlplc un vrbl srng cn un numr) pchè nn ss un cmplr pr cnrllr gl rrr, l scrp nn gnr rsul vlu. In qus cs pù ch dchrr bs cnvrr l rsul cn un funzn d cnvrsn. Pr cnvrr vlr bs ulzzr: - gl pc pr cnvrr un vlr numrc n srng l smm d un numr cn un spz; - md Srng() (d Jvscrp 1.2) pr cnvrr n srng cn l csrur Srng() (s.: msrng=srng(num)); - l funzn vl(), prsin() prsfl() pr cnvrr un vlr srng n numrc; - vlr lgc sn nu d vlr numrc srng pnnd qus ugul ru fls. 41

L funzn vl(), prsin() prsfl()funznn n qus md: prsin crc un nr ll'nz d un srng, scrnd l srngh, l vsulzz, gnrnd l pr dcml l'vnul vrgl (s.: prsin("39 grd")=39), un scnd prmr, fclv, è l bs numrc (s.: prsin(x,16) pr crcr numr sdcml); prsfl pr ll sss md, m cnsrv l'vnul vrgl prsn l sgn. vl è bbsnz cmplss crc qulss sprssn Jvscrp vld pr rsfrmrl n numrc. x=10; y=20; z=30; vl("x+y+z+900")=960 In qulss mmn, cmunqu, s può vrfcr l p dll vrbl rm l'prr ypf (s.: ypf 69 rsusc "numbr") l qul è s nrd cn Jvscrp 1.1. I vlr rsu sn: srng, bln, numbr, funcn. Ad smp mmgnm d vr l sgun vrbl: vr prv=nw Funcn() vr numr=1 vr s="slv" cn l'prr ypf s vrà ypf(prv) rsurà bjc ypf(numr) rsurà numbr ypf(s) rsurà srng Lfm d d Nll prm vrsn d Jvscrp (Nscp 2.0) d s cnsrvvn pssnd d dcumn dcumn d frm frm, uv cò pv mnr l scurzz dll pgn prchè un dcumn pv prr n un crnc, spss nvsbl, l'url d fl lggr l cnnu dl dsc pv prndr mnzn d s vs. Pr l mv s rduss l lfm dll vrbl ch durn, prcò, sl fnchè l fnsr ch l h cr rmn pr. Gà l vrsn Nscp 2.02 vv rsl l prblm, m ll sss md vv prv prgrmmr d un pn srumn pr gsr dcumn frm. Pr nr cn d l vrbl nl pssr d un pgn d un'lr l unch sluzn sn: - ulzz d ck nl l cln; - pssgg rm URL; - us d cmp nscs; - pssgg ulzznd frm l frm prn.frmnm.vrbl prn.frmnm.nmfunzn; - pssgg ulzznd l fnsr l frm nmfnsr.vrbl nmfnsr.nmfunzn. L'us d ck l rlscm prché bbsnz cmplss pc ndc n cs d vrbl ch nn mmrzzn d frm. Il pssgg r frm r fnsr è ml ulzz nll prc, m è nch ml cmd l pssgg rm URL, nch s sn s rscnr lcun dffclà n Inrn Explrr 4.0. 42

Pssgg d d Invc d spgr cm pssr d, ffrnm un suzn cncr. Immgnm d vr un frm cn cmp d p bun d vlr ndcr d un fnsr ll pgn succssv qul s è s prmu. Insrm s p dchrm nll szn hd un vrbl glbl Ts: <scrp lngug="jvscrp"><!-- vr s=null; //--></scrp> d gn s sscm l'vn: nclck="s=vlr" dv vlr srà ugul 1 nl prm s, ugul 2 nl scnd ugul 3 nl rz. Immgnm du cs: 1. d vlr rsmr d d un fnsr ch vn pr; 2. d rsmr d d un pgn lnk. Nl prm cs bbm sl un prblm d rsfrmn d d prché l fnsr mdr, ch cnn l vlr d pssr, cnsrv smpr qus vlr fnché nn vn chus pr cu bs nsrr un rg d cdc dl p: wndw.pnr.s Nl scnd cs, nvc, pssm ulzzr un fnsr cn d frm (nch un fnsr cn un unc frm v bn) cnsrvm l vrbl nll fnsr p (qull ch cnn frm) l rchmm dll lr fnsr cn l prprà prn.nmvrbl ppur p.nmvrbl. I frm, prò, sn spss scnsgl rsn scrsmn dpr su s d un cr lvll dv l pssblà d rsfrr d è qull d ulzzr l ck l'url. In qus'ulm cs pssm l vlr ll pgn succssv rvrs URL scrvm l sgun cdc HTML d un lnk: <scrp> funcn pr() { vr lnk="fnsr1.hml?"+s wndw.lcn=lnk </scrp> < hrf="#" nclck="pr()">lnk</> 43

s n cm c s l vlr ndc dp l pun nrrgv. Qus p d cdfc è qull ulzz dl Prl d lr lngugg ch prn sul srvr, m qu può ssr d d HTML (rs sl un'nnzn n qun qus pssgg nn smbr funznr cn IE4). Il prblm rrn qund bsgn rcuprr l vlr nll pgn succssv pché l brwsr lgg l'url cm un sl srng. In l cs bsgn ulzzr l prprà md dll'gg Srng. Pnm l lczn n un vrbl: vr usl=srng(hs.lcn); vr s=usl.chra(usl.lsindxof("?")+1); nll prm rg vn prs l'url rsfrm n srng (rcrd p d vrbl?), nll scnd s lgg l crr n pszn succssv qull dll'ulm pun nrrgv dll srng. Arry Gl rry sn ls numr d gg, ch n Jvscrp pssn nch ssr d p dvrs, ch pssn ssr cnsdr cm un'unà. Jvscrp nn suppr l mrc cm vrbl, m cm gg pr cu s cr un mrc sl s s dchr l dchrzn v f cm snz dll'gg Arry: nmmrc=nw Arry(num) Gl rry, n qun gg, vrrnn r n sgu qu n dm sl un ccnn nch prché l prgrmmr rdznl pr budn l crchrà r l vrbl. Pr ccdr d un lmn dll mrc s ulzz l'ndc ch ndc l pszn dll'lmn ll'nrn dll sss. Tl pszn s nz cnggr d 0 nn d 1. Ad smp cc un mrc nmls=nw Objc[] nmls[0]="rn"; nmls[1]="nr"; nmls[2]="sn"; nmls[3]="rs"; nmls[4]="glln"; pr cu l prm lmn è "rn" d h ndc 0. L'us dll mrc è mprnssm n Jvscrp prché qus lngugg ndczz prcch lmn cm l mmgn cm l lnk pr cu s pssn rchmr cn l'gg ssc cn l'ndc. In Jvscrp mncn l mrc bdmnsnl rdmnsnl, m s pssn fclmn rprdurr cm mrc d mrc. Oprr Gl prr s dvdn n: - prr d ssgnmn; - prr rmc; - prr lgc; - prr su b, dpr n gnr sl pr gnrr clr; - prr su srngh. pssn ssr unr bnr: prm rchdn un unc prnd, scnd du. Il prm prr ch ccrr cnscr è l'prr d ssgnmn l cu sgn è l'ugul (=), uv l su us n Jvscrp è sml l C d è dvrs d qull dll mmc prchè srv d 44