Flash da solo non può aprire finestre di popup, bensì pagine principali del browser, tramite:
getURL(“pagina.html”, “window”);
Per aprire una popup, si deve appoggiare al supporto javascript della pagina html che lo incorpora. Questo viene fatto in due modi:
1. inserendo una funzione javascript nella pagina html, e richiamandola dal filmato in flash:
getURL(“javascript:funzione(parametri)”);
2. generando la funzione direttamente da flash, con questa struttura:
getURL(“javascript:window.open(‘pagina.html’,'titolo’,'width=400,height=300′);void(0);”);
Fondamentale, è quel void(0) alla fine, che impedisce alla pagina contenente il filmato di diventare bianca.Consideriamo solo il secondo metodo (tutta la funzione generata da flash), e vediamo due modi generali e validi in ogni caso.
1° metodo
Nel primo frame della timeline principale incolliamo:
Movieclip.prototype.popup = function(nome,titolo,lar,alt,x,y,feat){getURL(“javascript:window.open(‘&;quot; nome +”‘,’” + titolo + “‘,’width=” + lar + “,height=” + alt + “,screenX=” + x + “,left=” + x + “,screenY=” + y + “,top=” + y +”,” + feat + “‘);void(0);”);&Nbsp;}
e apriamo la popup, ad esempio tramite pulsante, con:
on(release) {popup(‘test.html’,'titolo’,400,300,50,50,’status=yes’);}
Con questo metodo, indichiamo: nome della pagina da lanciare, titolo sulla barra, larghezza, altezza, posizione sull’asse delle X, posizione sull’asse delle Y, eventuali attributi. Eventuali, nel senso che si può omettere la parte finale, e scrivere:
on (release) { popup(‘test.html’,'titolo’,400,300,50,50); }
2° metodo:
Nel primo frame della timeline principale incolliamo:
Movieclip.prototype.centra = function (nome,titolo,lar,alt,feat){getURL(“javascript:var x = Math.round((screen.width/2)-(” + lar + “/2));var y=((screen.height/2)-(” + alt + “/2));window.open(‘” + nome + “‘,’” + titolo + “‘,’width=” + lar + “,height=” + alt + “,screenX=’ + x + ‘,left=’ + x + ‘,screenY=’ + y + ‘,top=’ + y + ‘,” + feat + “‘);void(0);”);}
e apriamo la popup, ad esempio tramite pulsante, con:
on (release) { centra(‘test.html’,'titolo’,400,300,’status=yes’); }
Con questo metodo, indichiamo: nome della pagina da lanciare, titolo sulla barra, larghezza, altezza, eventuali attributi. Eventuali, nel senso che si può omettere la parte finale, e scrivere:
on (release) {centra(‘test.html’,'titolo’,400,300);}
Questa funzione, serve a lanciare la nuova finestra centrata nello schermo, indipendentemente dalla risoluzione del monitor dell’utente.
3° metodo:
Da utilizzare con FlashMX. Nel primo frame della timeline principale incolliamo:
Movieclip.prototype.centra = function (nome,titolo,lar,alt,feat){
var w = System.capabilities.screenResolutionX/2;
var h = System.capabilities.screenResolutionY/2;
var x = Math.round(w-(lar/2));
var y = Math.round(h-(alt/2));
getURL(“javascript:window.open(‘”+ nome + “‘,’” + titolo + “‘,’width=” + lar + “,height=” + alt + “,screenX=” + x + “,left=” + x + “,screenY=” + y + “,top=” + y + “,” + feat + “‘);void(0);”; }
e apriamo la popup con:
on(release){centra (‘test.html’,'mia’,700,300,’status=yes’);}
Il paramentro finale, feat, rappresenta appunto gli attributi della finestra. Non scrivendo niente, la popup non avrà alcuna barra ne alcun menu. Scrivendo:
on(release){centra(‘test.html’,'mia’,700,300,‘status=yes’);}
avremo la barra di stato, scrivendo:
on(release){centra(‘test.html’,'mia’,700,300,‘status=yes,toolbar=yes’);}
avremo la barra di stato e la tollbar, e così via.