Archives

Comunicati

Cosa si intende per event-driven nelle pagine html

Gli eventi nelle pagine html
la gestione dell’interattività da parte di funzioni di script all’interno delle pagine Html è di tipo event-driven, ovvero dipendente dagli eventi. Ciò significa che qualsiasi operazione che venga compiuta dall’utente all’interno della finestra del browser (anche soltanto il semplice spostamento del mouse) produce comunque degli eventi che vengono inviati all’interprete. Solitamente non capita nulla perché questi eventi non vengono intercettati da nessuna funzione e quindi vengono semplicemente perduti.
Ma nel momento in cui ci interessa associare ad un certo evento una particolare funzione od un particolare comportamento, questo evento dovrà essere intercettato da parte dell’oggetto della pagina coinvolto, quindi dal Tag che lo identifica o lo definisce.
Il fatto che il parametro TITLE faccia apparire la descrizione contestuale del l’oggetto definito dal Tag significa che, quando è specificato questo parametro, viene rilevato l’evento corrispondente al cursore del mouse sopra l’oggetto ed in corrispondenza a questo evento viene visualizzata la finestrella di informazioni.
Va notato che quando si costruiscono delle funzioni di script che intercettano determinati eventi di un oggetto, queste vengono considerate più importanti di eventuali funzioni di sistema per lo stesso evento, che quindi
non avranno effetto. Se ad esempio specifichiamo il parametro TITLE in un tag in cui viene anche gestito l’evento OnMouseOver (mouse sopra l’oggetto, lo stesso evento del parametro) da parte di una semplice funzione che
cambia l’icona del cursore, non comparirà il testo specificato nel parametro TITLE.
La lista seguente mostra l’elenco di eventi che possono essere intercettati all’interno dei Tag html.

onabort – l’utente ha annullato lo scaricamento di un’immagine.
Applicabile a:  APPLET, BODY, BUTTON, CAPTION, DIV, EMBED, IMG, INPUT, MAP, OBJECT,
SELECT, TABLE, TD, TEXTAREA, TR

onbeforeunload – accade prima che una pagina venga scaricata per cari
care l’oggetto o la pagina successiva.
FRAMESET, window

onbeforeupdate – viene generato prima che venga avviato un aggiorna mento di un oggetto o di un trasferimento dati.
Applicabile a: APPLET, BODY, BUTTON, CAPTION, DIV, EMBED, IMG, INPUT, MAP, OBJECT,
SELECT, TABLE, TD, TEXTAREA, TR

onblur – viene generato quando l’oggetto corrispondente ha perso il focus, ovvero è stato spostato il mouse per cliccare un altro oggetto.
Applicabile a: A, APPLET, AREA, BUTTON, DIV, EMBED, HR, IMG, INPUT, OBJECT, SELECT, SPAN, TABLE, TD, TEXTAREA, TR, window

onchange
– viene generato ogni volta che il contenuto di un oggetto (ad esempio il campo di testo in un form) viene cambiato.
Applicabile a: INPUT, SELECT, TEXTAREA

onclick – viene generato quando è stato fatto click col pulsante sinistro del mouse.
Applicabile a: A, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I,
IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MENU, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document

ondataavailable – ogni volta che attraverso una connessione dati sono disponibili nuove informazioni non ancora acquisite.
Applicabile a: APPLET, IMG, MAP, OBJECT
ondatasetchanged – ogni volta che i dati di una connessione, collegata ad una serie di informazioni già visualizzate, cambiano.
Applicabile a:
APPLET, IMG, MAP, OBJECT

ondatasetcomplete – ogni volta che è stato completato il trasferimento di un gruppo di dati (ad esempio dopo che è stato applicato un filtro per selezionare un gruppo di record).
Applicabile a: APPLET, IMG, MAP, OBJECT

ondblclick – l’utente ha fatto doppio click col pulsante sinistro del mouse
sull’oggetto.
Applicabile a: A, ADDRESS, APPLET, AREA, B, BIG, BLOCK QUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, H1, H2, H3, H4, H5, H6,
HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MENU, OBJECT, OL, P, PLAINTEXT, PRE, 5, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document

ondragstart – viene generato quando l’utente inizia un’operazione di “drag” col mouse, ovvero trascina il mouse su un oggetto tenendo premuto il pulsante sinistro.

No Comments
Comunicati

Che cosa è un sistema event-driven

Sistema event-driven

La pagina Html di per sé è un oggetto statico. Esattamente come accadeva per le prime versioni dei browser qualche anno fa, il caricamento di una pagina Html nel browser è qualcosa di molto simile al caricamento di un documento da parte di un elaboratore testi. Una volta caricata, la pagina non può più essere modificata; si possono creare dei link che se selezionati dall’utente impongono al browser un nuovo collegamento col server web e richiedono il caricamento di un’altra pagina.
Ma allora come viene gestita l’interattività? Al momento del caricamento, se nella pagina è presente un codice script che esegue una determinata funzione, allo stesso modo è possibile indicare all’interno di certi Tag (come ad esempio il Tag che definisce un pulsante oppure le caratteristiche di visualizzazione di un’immagine) la funzione da richiamare al verificarsi di determinati eventi.
Un esempio tipico è l’evento onMouseClick; quando l’utente fa click con il tasto sinistro del mouse su un qualsiasi oggetto della pagina web, il browser genera comunque un evento specifico. Se in corrispondenza del tag che definisce un certo oggetto (un’immagine ad esempio) viene associata una funzione di script – caricata con il resto della pagina Html perché ne è parte integrante – questa viene attivata producendo l’effetto corrispondente. La gestione dell’interattività su queste basi è definita event-driven, ovvero guidata da eventi.

Script ed Applet

Nel prosieguo prenderò in esame le caratteristiche di alcuni componenti e funzionalità particolari delle pagine web ma merita un’attenzione speciale la distinzione fra Script ed Applet.
Va precisato che a differenza dei componenti aggiuntivi, come le animazioni realizzate in Flash piuttosto che la creazione di pagine dinamiche utilizzando DHTML o la realizzazione di applicativi client-server attraverso pagine PHP o ASP, gli Applet sono componenti molto più vicini al linguaggio Java e alla pagina Html. Infatti per inserire un applet nella pagina esiste un apposito Tag (APPLET appunto) che consente di definirne anche le caratteristiche di visualizzazione come dimensione e posizione, allo stesso modo in cui il tag IMG consente di gestire la visualizzazione delle immagini nelle pagine Html.
Mentre lo script è una parte integrante del codice della pagina Html, l’applet è in realtà un vero e proprio programma indipendente, realizzato in linguaggio Java. La differenza fra un applet ed un programma vero e proprio è che, mentre quest’ultimo una volta compilato diventa un’applicazione che può funzionare soltanto sul tipo di sistema operativo per cui è stato creato, l’applet può funzionare invece all’interno di qualsiasi browser, su qualsiasi tipo di computer.
II motivo di questo comportamento particolare dipende dal fatto che un applet è un programma dal punto di vista del funzionamento, in quanto viene scaricato come oggetto esterno alla pagina (al pari di un’immagine) ed eseguito (anzi per essere precisi viene avviato) all’interno di un preciso spazio dentro la finestra del browser, tuttavia sfrutta le funzionalità del browser per comunicare con l’utente e con l’esterno e per funzionare su qualsiasi piattaforma e sistema operativo. Anche l’applet viene avviato dalla Java machine presente sul computer e non ha bisogno di tutta una serie di elementi che lo rendono dipendente da un determinato sistema operativo poiché può soltanto funzionare all’interno della finestra del browser. Quindi potremo far funzionare un applet realizzato con un sistema di sviluppo Java Microsoft anche su macchine Unix e viceversa.

No Comments