Una pagina apre l'altra. La pagina che apre la popup richiama il metodo nella pagina figlia.
Codice della pagina madre:
<html>
<head>
<title>Richiamo del metodo nella pagina figlia</title>
</head>
<body bgcolor="#FFFFFF">
<object
classid="[...]" codebase="[...]"
width=400 height="2"00>
<PARAM NAME=movie VALUE="metodiChild.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<embed
src="metodiChild.swf"
quality=high
bgcolor=#FFFFFF
width=400
height="2"00
type="[...]" pluginspage="[...]">
</embed>
</object>
</body>
</html>
Da notare:
• niente Javascript: la popup viene aperta direttamente da Flash
• niente tag: il filmato a cui applicare il metodo è contenuto nella pagina figlia
Il codice del pulsante che apre la popup:
on(release){
getURL("javascript:figlia = window.open('pagina5.html','PaginaFiglia',[attributi];void(0)");
}
Il codice del pulsante che avvia il filmato nella pagina figlia:
on(release){
getURL("javascript:figlia.avviaFilmato()");
}
Il codice della pagina figlia:
<html>
<head>
<title>Pagina figlia</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function avviaFilmato() {
var IE = navigator.appName.indexOf("Microsoft") != -1;
var filmato = IE ? window.mainMovie : window.document.mainMovie;
self.focus();
filmato.Play();
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF">
<object
classid="[...]" codebase="[...]
width=400 height=300 id="mainMovie">
<PARAM NAME=movie VALUE="pagina5.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<embed
src="pagina5.swf"
quality=high
bgcolor=#FFFFFF
width=400
height=300
name="mainMovie"
swLiveConnect="true"
type="[...]" pluginspage="[...]">
</embed>
</object>
</body>
</html>
Da notare:
• i tag di incorporamento per l'identificazione del filmato
• la funzione Javascript per l'applicazione del metodo
• il self.focus() all'interno della funzione: in questo modo, quando clicchiamo sulla pagina principale per avviare il filmato nella pagina figlia, questa torna davanti riprendendo il focus.