Javascript -> Flash throwing "Error calling method on NPObject"

Jim Miller picture Jim Miller · Sep 13, 2009 · Viewed 16.1k times · Source

I'm trying to call a Flash (AS3) function from Javascript. When the code runs, I get the error "Error: uncaught exception: Error calling method on NPObject!" From my day's worth of googling around, this seems to be be a security matter, and I've done everything I can find, but the error still comes up.

Some details:
* This happens with both Flash 9 and Flash 10 players.
* The swf is in the same domain as the php file that loads it and that contains the javascript that's trying to call the Flash function.
* I'm using sfwobject2.2 to load the swf file, like so:

var flashvars = {};
var params = {};
var params = {menu: false, bgcolor: "#ffffff", allowScriptAccess: "always"};
swfobject.embedSWF("/path/to/swf", "id", "480", "310", "9.0.0", null, flashvars, params, attributes);


My Flash movie is doing the allowDomain thing, correctly as far as I can tell:

Security.allowDomain("www.mydomain.com");

* I know that the ExternalInterface.addCallback is set up properly -- when I disable it, I get a "no such function" error instead of the NPObject complaint.

This is driving me completely crazy, and I just can't figure out how to correct it. Any advice out there?

Answer

Brent picture Brent · Oct 26, 2010

The answer I found was that it throws that error for many reasons. Mine was that I was not sending in the correct number of arguments for the function it was calling.