ISTRUZIONI UN LINK DIVERSO OGNI MINUTO

di Massimiliano Valente

- SCHEDA TECNICA -

GENERE: link
DESCRIZIONE: ogni minuto viene visualizzato un diverso in base ad un numero impostato in precedenza
COMPATIBILITA': MSIE, Netscape
USO FILE ESTERNI: no

- DESCRIZIONE -

Come ampiamente dimostrato nel corso dei precedenti numeri di questa mailing list, Javascript gestisce egregiamente i link, consentendo effetti molto utili, quali la gestione di banner a rotazione ed utilita' simili. 
Lo script di questa settimana visualizza link testuali differenti ogni minuto. Essendo Javascript un linguaggio client e non server, prendera' in considerazione l'orologio del tuo computer per visualizzare ogni minuto un link differentee. Da precisare che il link non cambia dinamicamente, ma e' necessario effettuare il refresh di pagina per visualizzare il nuovo riferimento.


esempio.htm

Per una piu' semplice comprensione del presente script fai continuamente riferimento al file sopra citato, verificando le procedure e i dati espressi. Solo in questo modo, con un continuo confronto, comprenderai le peculiarita' di questo Javascript.



>>>>>>>>>>>>>>>> esempio.htm <<<<<<<<<<<<<<<<<<


Perche' lo script funzioni e' necessario aggiungere il listato di codice seguente nel punto del documento in cui si vogliono visualizzare i link al minuto. Dunque il codice va inserito tra i tag <BODY> e non nei campi <HEAD>:


-------------------------
<SCRIPT LANGUAGE="JavaScript">
<!--
var linkno = 5;
var date = new Date();
var rd = date.getMinutes();
var ra = rd % linkno;
var re = ++ra;
var mo=0
frame="_new"

if (re < 1) re=++re

if (re == 1) {
re = "http://www.html.it";
mo = "HTML.it, il sito italiano sul Web publishing";
}

if (re == 2) {
re = "http://www.hwupgrade.it";
mo = "Hardware Upgrade, il sito italiano sul mondo dell'hardware";
}

if (re == 3) {
re = "http://www.tuttogratis.com";
mo = "Tuttogratis, tutto il gratis dalla Rete";
}

if (re == 4) {
re = "http://www.html.it/forum";
mo = "Il forum di discussione sull'HTML"
}

if (re == 5) {
re = "http://www.html.it/mailing/gif.htm";
mo = "Una GIF al giorno, la mailing list gratuita di HTML.it";
}

var link="<A HREF="+re+" onMouseOver=\"window.status='"+mo+"'\">"+mo+" </A>";
document.write(link);

// -->
</SCRIPT>
-------------------------


var linkno = 5;
Questa variabile imposta il numero di link che vogliamo visualizzare. Nel nostro esempio abbiamo inserito 5 link; dunque il valore di questa variabile rispetta questa impostazione.

frame="_new"
Questa riga definisce il classico attributo target dei frame. In questo caso, infatti, cliccando sui link, la pagina corrispondente verra' aperta in un'altra finestra.

I singoli link, e relativi commenti, vanno inseriti nelle righe di codice:


-------------------------
if (re == 1) {
re = "http://www.html.it";
mo = "HTML.it, il sito italiano sul Web publishing";
}
-------------------------


Da notare che per ogni link va aggiunto un numero progressivo:

(re == 1)

Se questa numerazione non viene rispettata il browser mostra un errore nello script.
"re" contiene il link assoluto o relativo; mentre "mo" il testo che appare in forma di link.

Finalmente, ecco il codice visualizza il link nella pagina attraverso questa riga:


-------------------------
var link="<A HREF="+re+" onMouseOver=\"window.status='"+mo+"'\">"+mo+" </A>";
document.write(link);
-------------------------


La variabile link crea un normale link HTML, dove richiama il valore "re" impostato in precedenza. Il gestore onMouseOver mostra nella status bar del browser il valore "mo". Lo stesso valore "mo" viene richiamato come testo da mostrare nella pagina, ed al quale viene associato il link. Infine document.write(link) inserisce l'effetto nel flusso degli eventi della pagina.

E' possibile fare in modo che il cambiamento del link si produca ad intervalli di tempo maggiori o minori del minuto. Per fare questo e' necessario agire su:

var rd = date.getMinutes();

L'oggetto "date" utilizza, infatti, diversi metodi per gestire il tempo in Javascript:

getDate() da 1 a 31, restituisce il giorno del mese dell'oggetto Date corrente

getDay() da 0 a 6, restituisce il giorno della settimana dell'oggetto Date corrente

getHours() da 0a 23, restituisce l'ora dell'oggetto Date corrente

getMinutes() da 0 a 59, restituisce i minuti dell'oggetto Date corrente

getMonth() da 0 a 11, restituisce il mese dell'oggetto Date corrente (0 e' gennaio, 1 e' febbraio, 2 è marzo ecc.)

getSeconds() da 0 a 59, restituisce i secondi dell'oggetto Date corrente

Dunque, sostituendo a date.getMinutes() uno di questi metodi e' possibile modificare il tempo di visualizzazione dei link.

Questo script e' utile a rendere piu' vive le pagine, soprattutto per quei siti che hanno necessita' di apparire continuamente aggiornati. Trovare un link differente ad ogni accesso significa invogliare il visitatore a tornare piu' spesso sulle nostre pagine, e dunque a rendere piu' utile la navigazione.

 

INDIETRO