I am trying to run a jQuery function on my HTML page from AS3.
This is my jQuery function:
function loadImage(imageNumber)
{
imageURL = '<img src="images/image' + imageNumber + '.jpg">';
$("#imageBox").html(imageURL);
}
Here are the settings of my flash file in the HTML page:
<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" />
and finally... here is the AS3 script in my .swf file:
function gotoImage1(e:MouseEvent):void {
var jscommand:String = "loadImage(1);"
var link:URLRequest = new URLRequest("javascript:" + jscommand + "");
navigateToURL(link, '_self');
}
Thankyou in advance for taking the time to look and any help is massively appreciated.
Kindest Regards.Tom
Run Jquery function on page load once.
Answer: Use the syntax $. fn. myFunction=function(){} The syntax for defining a function in jQuery is little bit different from the JavaScript.
Nevertheless, Native javascript is one of the best jQuery alternatives, in fact, It is the framework of JS. Javascript is the best because any browsers ships with javascript and you do not need to install jQuery in your application.
You can use ExternalInterface
instead:
if (ExternalInterface.available) {
ExternalInterface.call('function(){ alert("test"); }');
}
Documentation: http://livedocs.adobe.com/flex/3/langref/flash/external/ExternalInterface.html
The final solution was:
function gotoImage2(e:MouseEvent):void
{
if(ExternalInterface.available)
{
ExternalInterface.call('function(){ loadImage(2); }');
}
}
Just in case anyone wanted to see how it ended...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With