allora... visto che non avevo mai utilizzato nello specifico questo metodo ma pensavo potesse funzionare, ho voluto provare ed è filato tutto liscio.
per prima cosa ci serve la pagina html che contiene le tue immagini dalle quali ricavare il nome dell'xml da caricare.
quindi fai un file html di nome firstPage.html con il seguente codice:
Codice PHP:
<html>
<head>
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
<!--
function sendData(galleryId) {
window.location.href = "flashPage.html?" + galleryId;
}
//-->
</script>
</head>
<body>
[url="javascript:sendData('gallery1');"]go to page 2 passing gallery 1[/url]
[url="javascript:sendData('gallery2');"]go to page 2 passing gallery 2[/url]
[url="javascript:sendData('gallery3');"]go to page 2 passing gallery 3[/url]
[url="javascript:sendData('gallery4');"]go to page 2 passing gallery 4[/url]
</body>
</html>
nel tuo caso basterà sostituire ai link testuali le immagini che ti servono.
la funzione javascript sendData non fa altro che aggiungere all'url della pagina che raggiungerai un parametro sotto forma di query, diverso per ogni link cliccato, e andare a quella pagina.
vedremo poi come recuperare e passare a flash questo parametro.
a questo punto ci serve la pagina contenente l'swf.
il nome della prima pagina non è importante, ma di questa si perchè deve corrispondere all'url raggiunto dal js nella pagina precedente.
quindi fai una pagina html e chiamala flashPage.html con questo codice.
Codice PHP:
<html>
<head>
<head>
<title></title>
<script type="text/javascript" src="swfobject.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
var query = window.location.search;
if (query.substring(0, 1) == '?') {
query = query.substring(1);
}
//document.write(query);
//-->
</script>
</head>
<body>
<div id="flashcontent"></div>
<script type="text/javascript">
var so = new SWFObject("gallery.swf", "gallery", "260", "240", "9", "black");
so.addVariable("xmlNode", query);
so.write("flashcontent");
</script>
</body>
</html>
il metodo utilizzato per inserire l'swf nell'html è l'swfObject, attraverso il quale è molto semplice passare variabili alla _root del flash contenuto nella pagina.
il javascript di questa pagina non fa altro che recuperare con una substring dall'url la variabile query, che è proprio il valore che serve al nostro swf.
a questo punto il gioco è fatto.
con questa riga
so.addVariable("xmlNode", query);
passo alla _root dell'swf una variabile di nome xmlNode a cui assegno il valore della variabile query, che proviene dalla prima pagina.
in flash la variabile è _root.xmlNode e assumerà il valore di gallery1, gallery2 etc a seconda del link cliccato nella prima pagina e a quel punto la utilizzerai come meglio credi per selezionare il nodo del tuo xml.
puoi trovare tutto qui
spero di essere stato chiaro.