11

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

一些细节:
* Flash 9 和 Flash 10 播放器都会出现这种情况。
* swf 与加载它的 php 文件在同一个域中,并且包含试图调用 Flash 函数的 javascript。
* 我正在使用 sfwobject2.2 加载 swf 文件,如下所示:据我所知, 我的 Flash 电影正在执行 allowDomain 的操作: * 我知道 ExternalInterface.addCallback 设置正确——当我禁用它,我得到一个“没有这样的功能”错误而不是 NPObject 投诉。 这让我完全发疯了,我只是不知道如何纠正它。有什么建议吗?

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




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



4

2 回答 2

10

我发现的答案是它出于多种原因引发了该错误。我的是我没有为它调用的函数发送正确数量的参数。

于 2010-10-26T21:30:48.980 回答
3

我发现通过从 Adob​​e 的站点安装 Flash 播放器的调试版本,我会得到一个对话框,其中包含实际的 Flash 异常而不是 NPObject 错误,因此这可能是了解实际情况的第一步上。

就我而言,它看起来好像以某种方式传递了不正确的参数数量,我不确定这是如何发生的(间歇性地),但这是另一个问题。:)

于 2011-05-01T00:57:48.210 回答