Java Script |
![]() |
Questa pagina avrà un taglio nettamente
pratico; gli esempi presentati saranno in qualche caso volutamente
non ottimizzati per favorire la comprensione del lettore.
Se ancora non lo avete fatto, potete leggere
l' introduzione, altrimenti passate agli
esempi.
Nota: La pagina sarà aggiornata
settimanalmente (se possibile) con nuovi esempi.
var oraApertura = 0;
Per immagazzinare l'ora abbiamo bisogno di una funzione che ce la indichi, questa sarà:
function primaOra()
{
now = new Date();
oraApertura = now.getTime();
}
Notate che alla variabile oraApertura
viene assegnato il valore della funzione now.getTime(),
essendo now prima creato come un oggetto di
tipo Date, ossia che Date()
è il costruttore della classe.
Adesso possiamo scrivere la funzione che
ritorna il tempo trascorso:
function calcolaTempo() {
var oraCambia = 0;
var tempoTrascorso = 0;
now = new Date();
oraCambia = now.getTime();
tempoTrascorso = ((oraCambia - oraApertura) / 1000);
alert ( "Sei stato qui " + tempoTrascorso + " Secondi");
}
Finiamo il nostro script chiudendo il
tag:
</script>
Come vedete all' interno abbiamo dichiarato
le funzioni oraCambia e tempoTrascorso
che saranno l'ora nella quale il lettore abbandona la pagina e il tempo
che ha trascorso in questa. Ma perchè all' interno? Per segnalare
che sono usate solo da questa funzione, ossia esisteranno solo al suo interno
mentre oraApertura è "vista"
da tutto lo script, infatti la usiamo nelle 2 funzioni. Diremmo che oraApertura
è una variabile "globale".
Un discorso simile si potrebbe fare per
now che sebbenne lo troviamo nelle 2 funzioni non sono lo stesso. Allora
perchè non l' abbiamo creato all' esterno e risparmiato una riga
di codice? Considerate che il lettore visiti la pagina dalle 23:59
alle 00:10 siccome now = new Date()
crea un oggetto di tipo data con la data e l'ora del monento nel quale
è stato creato pensate cosa succederebbe...
La funzione getTime
ritorna il tempo in millisecondi per cui in tempoTrascorso dividiamo tra
1000 il risultato della differenza tra oraCambia
e oraApertura.
Per ultimo Alert(
messagio ) apre una finestra di informazione, notate che per concatenare
le stringhe usiamo il simbolo +.
Chiudete il Head e inserite:
<body onload
= "primaOra()" onUnload = "calcolaTempo()">
Volete vedere il risultato dello script?
Provate a cambare pagina...
Sperimentate fino all' esempio
della prossima settimana, ciao!
Aprire una finestra personalizzata:
Dopo qualche settimana
di relax torniamo con il nostro secondo script; la sua finalità
sarà aprire una nuova finestra in una posizione determinata da noi.
Come al solito cominciamo
inserendo nel Head della pagina:
<script language = "JavaScript">
Dopo di che definiamo la nostra funzione:
function miaFinestra() {
window.open('esempio2.html','miaFinestra','width='+screen.width+',height=130,top=0,left=screen.availLeft');
}
Finiamo il nostro script con il tag:
</script>
Vediamo cosa abbiamo fatto...
La funzione miaFinestra()
chiama il metodo open dell' oggetto
window, la sua sintassi è:
window.open('URL','nomeFinestra','opzioniFinestra');
'opzioniFinestra'
è una lista di tutte o parte delle seguenti opzioni separate da
una virgola:
toolbar,location,directories,status,menubar,scrollbars,resizable,copyhistory,width,height,top,left
Nel nostro esempio abbiamo usato le ultime
4 i cui valori devono essere pixels (ossia height
= 50 sono 50 pixels di altezza). Le opzioni anteriori a width
possono essere uguali a yes o no;
se per 'opzioniFinestra'
non si specifica nessuna opzione, saranno tutte uguali a yes
(vere) per default, ma se se ne specifica almeno una (come nel nostro esempio)
saranno tutte no
(false).
Come potete intuire
le prime 6 opzioni permettono di visualizzare diversi componenti del browser,
mentre resizable
permette all' utente di ridimensionare (o no) la finestra, e copystory
rende la history
(indice delle pagine visitate) del navigatore disponibile nella nuova
finestra.
Abbiamo detto che
per width
e height
i valori devono essere in pixels, ma noi abbiamo scritto with
= 'screen.width' in realtà abbiamo
chiamato una proprietà che ci ritorna la larghezza dello schermo
(in pixels), lo stesso si può fare per l' height
= screen.height, invece per left
abbiamo usato availLeft
che ci indica la posizione più a sinistra non usata per una taskbar
del sistema, lo stesso vale per top = availTop,
(la copia "left,top"
definiscono le coordinate del punto superiore sinistro della finestra).
Per ultimo chiudiamo l' Head e nel Body della pagina scriviamo:
<FORM><INPUT TYPE=button VALUE="miaFinestra" onClick="miaFinestra();"> </FORM>
che ci mostra il seguente bottone che chiama la nostra funzione all' essere premuto ( notate il : onClick="miaFinestra(); ) :
<script language = "JavaScript">
function miaFinestraDue() {
window.open('esempio2.html','miaFinestra','width=640,height=130,top=0,left=0');
}
</script>
Ecco la prova: