Javascript - > Flash抛出“NPObject上的错误调用方法”

时间:2009-09-13 18:45:12

标签: javascript flash externalinterface

我正在尝试从Javascript调用Flash(AS3)函数。当代码运行时,我收到错误“错误:未捕获异常:错误调用NPObject上的方法!”从我今天的谷歌搜索,这似乎是一个安全问题,我已经做了我能找到的一切,但错误仍然出现。

一些细节:
* Flash 9和Flash 10播放器都会出现这种情况 * swf与加载它的php文件在同一个域中,并且包含试图调用Flash函数的javascript。
*我正在使用sfwobject2.2来加载swf文件,如下所示:

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);


据我所知,我的Flash电影正在执行allowDomain事情:

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

*我知道ExternalInterface.addCallback设置正确 - 当我禁用它时,我得到一个“没有这样的功能”错误而不是NPObject投诉。

这让我完全疯了,我只是无法弄清楚如何纠正它。有什么建议吗?

2 个答案:

答案 0 :(得分:10)

我找到的答案是它出于多种原因抛出该错误。我的意思是我没有为它正在调用的函数发送正确数量的参数。

答案 1 :(得分:3)

我发现通过从Adobe网站安装Flash播放器的调试版本,我会得到一个对话框,其中包含实际的Flash异常,而不是NPObject错误,所以这可能是一个有用的第一步实际上是怎么回事。

在我的情况下,看起来不知何故,传递的参数数量不正确,我不确定这是如何发生的(间歇性地),但那是另一个问题。 :)