Javascript :: Exactly Are Flash External Callback Methods Triggered?
Jun 6, 2010
I have a flash application using callbacks to javascript functions (eg. when it receives some data over a socket, it'll call a js script which would change the content of a div according to that given data).
Afaik, there is no actual mutual exclusion in javascript so I'm not sure if I can/need to simulate something like :
[code]...
So, the question is, when are those callbacks called ? Are they simply queued to be executed right after the browser finishes its task or are they triggered randomly ?
I'm trying to get javascript to talk to flash, but I haven't been able to get it to work.I've gotten flash to talk to javascript, but not the other way around. It seems as thought flash isn't listening to the javascript, or I'm doing something wrongPart of the AS3 to initially call the js:
Been doing some actionscript magic lately, done a nice interpolator class. The class, whenever an update occurs, calls a previously specified callback function. Normally, setting a variable of funCallback:Function and calling it works fine. However when I wanted to specify an *object's method* as the callback for the interpolator, it apparently called it as if it would be a static method.
And it isn't.What I need to do, simply speaking, is to be able to call an object's public method, having just th object's reference and function name, just like the second variant of setInterval does ( the one having "object, string" as the first two params, not "function").
I have a page that uses the jQuery.swfobject plugin to embed 5 flash items into a page and each flash item has a callback using externalInterface. The callbacks work when I have the js function outside of $(document).ready(function() but the jQuery animations do not fire - the ajax load however does. Does anyone know how to get the animations working too, code below:
function pageLoader(galID) { $('#menu').hide(); $('#holder_gallery').load("feeds.php", {gallery: galID}, function(){
I have a flex app and I am adding a callback method like this:
private function init():void { ExternalInterface.addCallback( "playVideo", playVideo ); }
[code].....
However if I uncomment and run the alert first. I get no error and it works perfectly.My first thought was that the alert was buying time until the script could execute, so i tried to run the script inside a setTimeout() but did not work.
I don't work with Flash and consequently know nothing of it, but I have the task of embedding a swf film into a web page. I know nothing about the swf's internal design, other than it plays a short film. I'd like to control when the swf starts playing, rewind it (it will be played infinitely), and possibly even cache it in the browser. It will be part of a Javascript-powered rotation of images, in which the <img> element will be temporarily replaced with an <object> for the swf.
My question is do swf files have an interface for Javascript built-in when compiled (Actionscript I think?), or would this entirely depend on the author's decision to include such code? If it is dependent on the author's inclusion of the code, are there any possible tests I can run to see what methods might be available?
I have a series of 10 external interface callbacks that are called through javascript and load mp3 files. The problem is, someone is able to click these while my pre-load function is running and it causes multiple files to load. Is there a way to disable the callbacks while the pre-load function is running?
ExternalInterface.addCallback("receiveText1", receiveText1); function receiveText1(value:String):void { channel.stop(); channel2.stop();
I have a Javascript API, which should be usable with GWT and Flex. Using the FABridge it is really easy to call Javascript methods from AS3 and vice versa. But when I try to register a callback to an AS3 method in my Javascript API I get stuck. Here is a short code sample:
I am pretty new to flex, so forgive me if this is an obvious question.Is there a way to open the Security.showSettings (flash.system.Security) with a callback? or at least to detect if it is currently open or not? My flex application is used for streaming audio, and is normally controlled by javascript, so I keep it hidden for normal use (via absolute positioning it off the page).
When I need microphone access I need to make the flash settings dialog visible, which works fine, I move it into view and open the dialog. When the user closes it, I need to move it back off the screen so they don't see an empty flex app sitting there after they change their settings.
I'm making a callback from javascript to a method on my swf. It works in Firefox with no problems, but in chrome the second parameter that's passed is always received as null? I've debugged my javascript and found that everything is working fine and the two values that are passed to the swf are correct at the point where the callback to the swf is made. At first i thought this might be a cross domain issue, but have ruled that out as if it were the case then the method on swf would just not be called at all. The second value is a binary string representation of an image and the length of the string that is passed is 101601, so i'm wondering whether there's possibly a limitation on the amount of data that can be passed? The first parameter is a much smaller string representing the file type and this always gets received successfully.
I'm trying to call a function in my ActionScript from my JavaScript, I've managed to successfully do this with another flash file but in the current one it's failing for some reason. I'm using jQuery SWFEmbed, this is my JS code:[code]The ExternalInterface.call work, and the trace outputs true, I have no idea what's going on.If you could also tell me how I can pass parameters to a ExternalInterface callback.
public function callFromJavaScript():String { test.label='dfdsfsdf'; return "1"; } public function init():void {
[Code]...
I have no clue wich one are crossbrowser compatible (cant install IE to test out)I have tried multiple but i cant get them to work(in any browser), im probably using the wrong id, ive been trial & erroring for a couple of hours but i don't have anything working.(i heard there was a problem with ExternalInterface.addCallback on a local file system?, should i upload the swf? < is the flex code right& problem = javascript/html side?)
I have a Flash movie embeded with swfobject in a html container. Through ExternalInterface I have registered a javascript function to fire callback to my flash app.
My web application pass a javascript object to flex application using addCallback function. when the flex application is in modal dialog in safari browser, the object in the flex application is null and when I open the flex application just in a new window, the object is passed correctly. But, I need the showmodaldialog to show the flex application.
The flex code: ExternalInterface.addCallback( "handleEvent", handleEvent ); override public function handleEvent( event:Object ):Object { Alert.show(String(event)); .....
I'm currently working with soundmanager2 in an IE/flash context (not html5). The issue is that audio playback of mp3 content does not occur for the following case where the 'onload' callback function is defined as null OR as a function that does almost nothing.
$('#trailer-dialog').mediaelementplayer({ enablePluginDebug: false, // remove or reorder to change plugin priority plugins: ['flash','silverlight'], // specify to force MediaElement to use a particular video or audio type
-I know one can call javascript functions from as3 using ExternalInterface, but in all the examples I've seen the function has been a standalone function on the page. Can methods on objects (that are on the page) be called. E.g: obj.someFunc() rather than just someFunc()?
-The return value can be stored as well using ExternalInterfaces. Can this return value be a javascript object? If so, its methods be called from it directly?
I have been at it for two days now and have not been able to resolve this issue. I am trying to call an AS3 function from JavaScript via ExternalInterface API which is simply not working at all. If I to call a JavaScript function form html loaded swf, it works beautifully.[code]
Im going to repost this question but simplify it, I read this post afterwards and it even confused me... have 3 movie clips that are being used like a button, they appear in the middle of the screen, when clicked on the 3 movies move to the left of the screen.the top movie clip is at x: 30 y: 180the middle movie clip is at x: 30 y:345the bottom clip is at x: 30 y: 510if you click on the middle clip, it moves to the postion of the top clip,the top click then movies to the bottom, and the bottom moves to the middleif you click on the bottom clip, it moves to the top, the middle clip moves to the bottom, and the top clip moves to the middle.basicly the 3 clips cycle positions, depending on what clip the user clicks on, the button that was clicked on moves to the top.THE PROBLEM....I want to load an external movie clip. I want the clip to load when the the movie clip that the user cliced on moves to the top postion x: 30 y: 180,
THE CODE..... //************************************************** ********************** //************************************************** **********************
there is an SWF file where we used its methods using JavaScript as an reference in HTML.now we want to make an FLASH app & have an SWF as an component where use all that methods in.since Im new here, I need ur comments how can I do it step-by-step.i know JavaScript but new in ActionScript.I use SWF in my JavaScript asCode:
Code: <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699");
What are some methods of accessing/loading external SWF's aswell as there variables inside them. I've been using URLrequest and loader methods no luck yet.
I have a main actionscript file import other actionscript files into it to use their function. From the tutorials and training videos I have, other external classes apart from the document class always link to an object in the library or an object in the main.as is an instance of the other class, for example:[code]
The problem is I'm not creating any variables from the external class but only want to use the functions from it. When I test the movie, I get error 1180: Call to a possibly undefined method isPossibleNo, which is inside class ProjectileNo that is imported already.So my question is how I can use external functions without creating a new instance of the external class because they only hold calculation functions.
I can't access the props and methods of an external AS3 swf after it's loaded by Main.as. Here's a very simplified version of the code for Main.as (the calling swf):
Code: package{ import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; import flash.display.Loader; public class Main extends Sprite{ private var imgLoaded:Boolean = false; [Code] .....