a--m
a--m

Reputation: 4782

ExternalInterface.addCallback doesn't work on firefox?

i'm trying to call a method inside a flash movie from js, every time the mouse leaves the "div". It works on Internet Explorer, but not in firefox. any ideas?

here is the html script:

<script type="text/javascript">

     window.onload = function(e){

      init();

     }

     function init(){

      document.getElementById('div').onmouseout = function(e) {

       method();
      }

     }

     function method(){
       flashid.anothermethod();
     }
</script>

and the flash script:

import flash.external.ExternalInterface;

function outdiv(){
        //do something;
}

ExternalInterface.addCallback('anothermethod', outdiv);

Any ideas what's wrong?

EDIT: here is example of the problem, there is an alert for the js and the flash should be able to remove the swf (see a gray background? it works! see a image, flash didn't receive the call): http://complexresponse.com/out/addcallback_ff.html

this should work with internet explorer / safari / chrome (pc/mac) only firefox seams to reject this.

Upvotes: 0

Views: 1299

Answers (2)

Josh Knauer
Josh Knauer

Reputation: 1754

Ensure that you're embedding flash with wmode set to "transparent". If not you won't get JavaScript events for DOM objects behind the flash object.

Upvotes: 0

matei
matei

Reputation: 8705

the problem is that the event probably doesn't fire because of the flash. try to handle the mouseout event in the flash on your main movieclip and see if it fires

Upvotes: 1

Related Questions