2009-04-10 13 views
7

? Estoy tratando de ejecutar una función jQuery en mi página HTML desde AS3.¿Cómo puedo ejecutar una función jQuery usando AS3

Ésta es mi función jQuery:

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

Éstos son los ajustes de mi archivo flash en la página 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" /> 

y finalmente ... aquí es el guión en mi AS3. archivo swf:

function gotoImage1(e:MouseEvent):void { 
    var jscommand:String = "loadImage(1);" 
    var link:URLRequest = new URLRequest("javascript:" + jscommand + ""); 
    navigateToURL(link, '_self'); 
} 

Gracias de antemano por tomarse el tiempo de buscar y cualquier ayuda es apreciada masivamente.

Un cordial Regards.Tom

Respuesta

6

Se puede utilizar en lugar ExternalInterface:

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

Documentación: http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html

+1

Gracias por la respuesta rápida, aunque recibí la alerta ("prueba") para mostrar, no puedo ejecutar mi función. La función en la parte superior de mi página HTML se llama "loadImage". También estoy pasando una variable a esta función. if (ExternalInterface.available) { ExternalInterface.call ('loadImage (1);'); } – Tisch

+0

no se preocupe. Lo tengo funcionando. Muchas gracias por la respuesta. Muchos apreciaron :) – Tisch

1

La solución final fue:

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

Sólo en caso de que alguien quería mira cómo terminó ...

+0

¿Por qué no llamas directamente a tu método javascript en lugar de usar una función anónima? 'ExternalInterface.call ('loadImage', 2);' – duTr

Cuestiones relacionadas