I have to call an ActionScript method via Javascript, but I have a problem accessing the flash object itself. I embed the flash file via the help of swfobject.
Previously, when I use the static publishing approach, I could easily get the flash object by calling these methods:
swfobject.registerObject("flash_object", "9", "expressInstall.swf");
var flash_object = swfobject.getObjectByI开发者_JAVA百科d("flash_object");
For some technical reasons, now I have to use the dynamic publishing approach (using swfobject.embedSWF). But, as mentioned in the documentation, the method getObjectById can only be used if you use static publishing approach.
Now, how can I access the flash object?
Cheers, Andree
With the good old document.getElementById("flash_object")
Just be sure to do it after page load. You can set it up via the callback function, too:
var mySWF = null;
var flashvars = {};
var params = {};
var attributes = {};
var embedHandler = function (e){
mySWF = e.ref; //e.ref is a pointer to the <object>
//do something with mySWF
};
swfobject.embedSWF("/path/to/file.swf", "flash_object", "550", "400", "9", "/path/to/expressInstall.swf", flashvars, params, attributes, embedHandler);
I would suggest going through the documentation on How to Integrate Flex with Java EE applications.
It explains how to use Flashvars to pass data from javascript to actionscript method. I used it myself and it works just fine.
精彩评论