How to access a flash object embedded via swfobject's embedSWF?

10,768

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);
Share:
10,768
Andree
Author by

Andree

Updated on June 17, 2022

Comments

  • Andree
    Andree almost 2 years

    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

  • jowie
    jowie over 12 years
    This unfortunately doesn't work in Firefox... It returns null! :( does anyone know why, or how to get round it? Thanks!
  • pipwerks
    pipwerks over 12 years
    i just updated my answer to use swfobject's callback API: e.ref will return a pointer to the <object>, no need for document.getElementById