views:

422

answers:

2

Hi there,

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.getObjectById("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

+1  A: 

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 = document.getElementById("flash_object");
  //do something with mySWF
};

swfobject.embedSWF("/path/to/file.swf", "flash_object", "550", "400", "9", "/path/to/expressInstall.swf", flashvars, params, attributes, embedHandler);
pipwerks
Ah I see. Thanks!
Andree
A: 

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.

bakore