Potete vedere la funzione di Javascript di cui ci occuperemo ora muovendo il puntatore del mouse su questo link. Ora osservate la statusbar in fondo alla finestra del browser. E' possibile combinare ciò con altre funzioni Javascript. Se vi posizionate sopra questo link comparirà una finestra. Ora vi mostrerò il sorgente di questi due effetti:
<a href="stupid.htm" onMouseOver="window.status='Questo è uno stupido link ...'; return true">L'unica cosa che dovete fare è aggiungere la proprietà onMouseOver al tag <a>; 'window.status' vi permetterà di scrivere sulla statusbar del browser. Come potete vedere dovete racchiudere il testo tra singoli apici ('); non potete usare i doppi apici ("), altrimenti Javascript non sarà in grado di identificare la stringa che volete visualizzare nella statusbar. Dopo la stringa occorrerà scrivere ;return true.
<html> <head> <script language="JavaScript"> <!-- nasconde lo script ai vecchi browser function ciao() { alert("Ciao!"); } // --> </script> </head> <body> <a href="" onMouseOver="ciao()">link</a> </body> </html>E' molto semplice: viene usata la proprietà onMouseOver e la funzione ciao() viene invocata quando si verifica il relativo evento.
Ecco il codice:
<script language="JavaScript"> <!-- oggi = new Date() document.write("L'ora attuale è: ",oggi.getHours(),":",oggi.getMinutes()) document.write(" La data di oggi è: ", oggi.getDate(),"/",oggi.getMonth() + 1,"/",oggi.getYear()); // --> </script>Come prima cosa creiamo una variabile contenente la data di oggi. Questo è fatto con oggi=new Date(). Se non specifichiamo una certa ora e una data, il browser utilizza l'ora locale e l'assegna alla variabile oggi. Notate che non occorre dichiarare la variabile oggi. Questa è una differenza nei confronti di Java e della maggior parte degli altri linguaggi di programmazione in cui è necessario specificare il tipo di una variabile prima del suo uso.
E' necessario che sappiate che Javascript non ha un vero e proprio tipo data, ma come vedete può lavorare con le date molto bene. Ciò funziona perché le date vengono rappresentate con il numero di millisecondi trascorsi dalle ore 0:0 del 1/1/1970. Può sembrare un po' complicato, ma è un metodo comune per rappresentare le date sui computer. Ma non preoccupatevi di questo, avrete a che fare soltanto con le relative funzioni e non è per niente difficile. Ho voluto dirlo soltanto per completezza.
Questo è un numero casuale:
Ecco il codice di questo esempio:
<html> <head> <script language="JavaScript"> function RandomNumber() { oggi = new Date(); num= Math.abs(Math.sin(oggigetTime())); return num; } </script> </head> <body> <script language="JavaScript"> <!-- document.write("Questo è un numero casuale:", RandomNumber()); // --> </script> </body> </html>Naturalmente la funzione di generazione di numeri casuali appena mostrata non è adatta per tutti gli scopi; serve soltanto a dare un'idea di come può essere realizzata una funzione di questo tipo. Vi presento ora una funzione che ho avuto da Maynard Demmon: dovete semplicemente impostare la variabile limits al valore che desiderate, per esempio 100, e otterrete un 'buon' numero casuale tra 0 e 99. Ecco il codice:
function random() { today = new Date(); num = today.getTime(); num = Math.round(Math.abs(Math.sin (num)*1000000)) % limits; return num; }
Rompendo con la tradizione non ho scritto Ciao mondo!
nella pagina ...
Ecco il sorgente:
<html> <head> <script language="JavaScript"> function WinOpen() { msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no"); msg.document.write("<HEAD><TITLE>Ehi!</TITLE></HEAD>"); msg.document.write("<CENTER><h1><B>E' veramente fantastico!</B></h1></CENTER> "); } </script> </head> <body> <form> <input type="button" name="Button1" value="Clicca qui" onclick="WinOpen()"> </form> </body> </html>Come al solito, al pulsante è associata una funzione, WinOpen(), che crea una nuova finestra invocando il metodo open.
toolbar
location
directories
status
menubar
scrollbars
resizable
copyhistory
width=pixels
height=pixels
Al posto di pixels dovete scrivere il numero di
pixel, così potete specificare al browser quanto deve essere grande
la vostra finestra.
Dopo aver aperto la vostra finestra e l'avete associata
alla variabile msg, potrete scrivere al suo interno. Potete utilizzare
normale codice HTML! Potreste quindi costruire un documento HTML utilizzando
l'input immesso da un utente in una form; ad esempio, potreste costruire
una pagina con una form in cui l'utente scrive il suo nome e poi creare
un nuovo documento HTML contenente il suo nome! Fino ad alcuni mesi fa
ciò era possibile soltanto con script CGI!
Nota: Quando scrivete qualcosa all'interno di una
finestra, dovete sempre inserire un <br> alla fine del testo, altrimenti
potreste non vederne l'ultima riga. Ciò accade perché il
browser scrive soltanto linee complete e se non trova la fine di una linea
rimane in attesa di altro testo.
Un'altra cosa importante: Se volete inserire un'immagine
in una nuova finestra, assicuratevi di impostare le proprietà height
e width del tag <img> altrimenti non vedrete alcuna immagine
o la visualizzazione della pagina darà qualche errore. Possono accadere
infatti problemi molto strani e non vi aspettereste che la vera 'responsabile'
è la vostra immagine. Quindi specificate sempre le immagini come
nel seguente esempio e non avrete problemi:
<img src="mycool.gif" height=100 width=100>