Vediamo il significato del javascript contenuto nella pagina main.htm.
<script language="JavaScript">
var dim = screen.width;
if(dim >= "1280"){
larghezza = 1050;
altezza = 450;
}else{
larghezza = 700;
altezza = 300;
}
document.write ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
+'codebase="http://download.macro....................................sh.cab#version=5,0,0,0" '
+'WIDTH=' + larghezza + ' HEIGHT=' + altezza + '> '
+'<PARAM NAME=movie VALUE="filmati/intro.swf"> '
+'<PARAM NAME=quality VALUE=high> '
+'<PARAM NAME=bgcolor VALUE=#FFFFFF> '
+'<PARAM NAME=menu VALUE=false> '
+'<EMBED src="filmati/intro.swf" quality=high menu=false bgcolor=#FFFFFF WIDTH='
+ larghezza + ' HEIGHT=' + altezza
+' TYPE="application/x-shockwave-flash" '
+'PLUGINSPAGE="http://www.macromedia.com/shockwave/download"> '
+'</EMBED></OBJECT>');
</script>
Quando viene richiamata la pagina, lo script recupera la larghezza dello schermo (più precisamente, il numero di pixel che ne compongono
orizzontalmente l'area visibile). Se questa misura, associata alla variabile dim, risulta essere maggiore o uguale a 1280, vengono
definite le variabili larghezza e altezza, con i valori rispettivamente di 1050 e 450 (rapporto 7 a 3).
Se la larghezza dello schermo è invece minore di 1280 (else), le variabili larghezza e altezza avranno come valore 700 e 300 (a 1600x1200, un filmato 700x300 è troppo piccolo).
Una volta definite le due variabili, viene scritto (tramite il document.write), il codice di incorporamento del filmato: le due variabili
vengono riportate all'interno di esso, e inserite nei posti corrispondenti agli attributi width ed height. Di conseguenza, all'interno della popup, troveremo un filmato a dimensioni fisse (non scalabile): dimensioni che, però, saranno state stabilite al momento,
relative al caso particolare.
jscript esterno
Come abbiamo visto, all'interno del codice di alcune delle pagine considerate finora, era presente il riferimento ad un file *.js esterno,
flash5.js:
<script language="javascript" type="text/javascript" src="flash5.js"></script>
Grazie a questo riferimento, è possibile richiamare funzioni javascript non presenti nella pagina html vera e propria: caso che abbiamo visto
più volte, come nell'apertura della popup, o dell'aggiunta ai preferiti.
Riporto il contenuto del file:
/****************************************
* Flash5.it http://flash5.html.it/
* Guida per la costruzione di un sito in Macromedia Flash5
*
* negatyve@libero.it
****************************************/
function riempi() {
if (window.screen) {
var w = screen.availWidth;
var h = screen.availHeight;
window.moveTo(0, 0);
window.resizeTo(w, h);
}
}
function lancia() {
var w = screen.width;
var h = screen.height;
if(w >= "1280"){
larghezza = 1050;
altezza = 450;
}else{
larghezza = 700;
altezza = 300;
}
var x = Math.round(w / 2) - Math.round(larghezza / 2);
var y = Math.round(h / 2) - Math.round(altezza / 2);
finestra = window.open ('flash5.htm', null, 'left=' + x + ',screenX=' + x + ',top='
+ y + 'screenY=' + y +',width=' + larghezza + ',height=' + altezza );
}
function preferiti(){
var url="http://flash5.html.it/"
var titolo="Flash5.it - Risorse italiane su Flash"
if (document.all) {
window.external.AddFavorite(url,titolo);
}
}
function paginaIniziale() {
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage('http://flash5.html.it/');
}
La funzione riempi, determina le dimensioni dell'area utile dello schermo (barre degli strumenti escluse): quindi sposta la pagina
al punto 0,0 (angolo superiore sinistro dello schermo), e la ridimensiona fino a riempire l'area visibile.
La funzione lancia, fa più o meno lo stesso lavoro della funzione di main.htm: viene calcolata la larghezza dello schermo, e in base a
questa, stabilite le dimensioni che dovrà avere la popup, centrata nello schermo e senza alcuna barra degli strumenti. Dal momento che i
valori sono gli stessi dello script visto prima, se la risoluzione è inferiore a 1280, avremo una popup 700x300 contenente un filmato 700x300,
se è superiore, una popup 1050x450 che incorpora un filmato 1050x450.
La funzione preferiti, aggiunge il sito alla lista dei Preferiti o Bookmark, con le informazioni (indirizzo e nome) definite nella
variabili url e titolo.
Infine la funzione paginaIniziale, setta la la pagina corrente come quella Iniziale del browser: questo script, è valido solo per i
browser internet Explorer 4 e superiori.
/****************************************
* Flash5.it http://flash5.html.it/
* Guida per la costruzione di un sito in Macromedia Flash5
*
* negatyve@libero.it
****************************************/
function riempi() {
if (window.screen) {
// assegna a w il valore corrispondente alla larghezza disponibile dello schermo in px
var w = screen.availWidth;
// assegna a h il valore corrispondente all'altezza disponibile dello schermo in px
var h = screen.availHeight;
// sposta la finestra nel punto di coordinate 0,0
window.moveTo(0, 0);
// ridimensiona la finestra fino a riempire l'area visibile, determinata da w e h
window.resizeTo(w, h);
}
}
function lancia() {
// assegna a "w" il valore corrispondente alla larghezza disponibile dello schermo in px
var w = screen.width;
// assegna a "h" il valore corrispondente all'altezza disponibile dello schermo in px
var h = screen.height;
// se "w" è maggiore o uguale a 1280
if(w >= "1280"){
// assegna a "larghezza" il valore 1050
larghezza = 1050;
// assegna a "altezza" il valore 450
altezza = 450;
// altrimenti
}else{
// assegna a "larghezza" il valore 700
larghezza = 700;
// assegna a "altezza" il valore 450
altezza = 300;
}
// assegna a "x" il valore ricavato dalla differenza tra l'arrotondamento di "w" fratto 2
// e la metà di "larghezza"
var x = Math.round(w / 2) - Math.round(larghezza / 2);
// assegna a "y" il valore ricavato dalla differenza tra l'arrotondamento di "h" fratto 2
// e la metà di "altezza"
var y = Math.round(h / 2) - Math.round(altezza / 2);
// apri la finestra con le caratteristiche indicate, centrata e senza barre
finestra = window.open ('flash5.htm', null, 'left=' + x + ',screenX=' + x + ',top='
+ y + 'screenY=' + y +',width=' + larghezza + ',height=' + altezza );
}
function preferiti(){
var url="http://flash5.html.it/"
var titolo="Flash5.it - Risorse italiane su Flash"
if (document.all) {
window.external.AddFavorite(url,titolo);
}
}
function paginaIniziale() {
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage('http://flash5.html.it/');
}