Translate

Come faccio ad aprire una popup da flash?

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.