2009-04-10 16 views
7

Sto provando ad eseguire una funzione jQuery sulla mia pagina HTML da AS3.Come posso eseguire una funzione jQuery usando AS3

Questa è la mia funzione di jQuery:

function loadImage(imageNumber) 
    { 
    imageURL = '<img src="images/image' + imageNumber + '.jpg">'; 
    $("#imageBox").html(imageURL); 
    } 

Ecco le impostazioni del mio file Flash nella pagina HTML:

<param name="allowScriptAccess" value="always" /> 
<param name="bgcolor" value="#ffffff" />  
<embed src="links.swf" quality="high" bgcolor="#ffffff" width="320" height="242" name="links" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> 

e infine ... Ecco lo script AS3 nel mio. file swf:

Grazie in anticipo per il tempo di guardare e qualsiasi aiuto è enormemente apprezzato.

Kindest Regards.Tom

risposta

6

È possibile utilizzare ExternalInterface invece:

if (ExternalInterface.available) { 
    ExternalInterface.call('function(){ alert("test"); }'); 
} 

Documentazione: http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html

+1

Grazie per la risposta rapida, anche se ho ricevuto l'avviso ("test") da mostrare, non riesco a far funzionare la mia funzione. La funzione nella parte superiore della mia pagina HTML è chiamata "loadImage". Sto anche passando una variabile a questa funzione. if (ExternalInterface.available) { ExternalInterface.call ('loadImage (1);'); } – Tisch

+0

non preoccuparti. ho funzionato Grazie mille per la risposta. Muchos apprezzato :) – Tisch

1

La soluzione finale è stata:

function gotoImage2(e:MouseEvent):void 
{ 
    if(ExternalInterface.available) 
    { 
     ExternalInterface.call('function(){ loadImage(2); }'); 
    } 
} 

Solo nel caso qualcuno volesse guarda come è finita ...

+0

Perché non chiami direttamente il tuo metodo javascript invece di usare una funzione anonima? 'ExternalInterface.call ('loadImage', 2);' – duTr

Problemi correlati