2012-02-29 46 views
0

让我们假设我有一个名为“data”的对象,它有一个名为“closeItem”的callBack函数,它执行某些操作。Javascript:从flash(swfObject)调用javaScript函数?

所以我有一个关闭按钮的Flash文件。点击这个我打电话给这个关闭这个项目的函数。

所以问题是?

如果我通过这个“closeItemFunction”作为全局函数,这工作正常。

但是,如果将此函数作为“data.closeItem”传递,则不会引发一些falsh错误。

,所以我只想问


“不闪只能打电话gobal范围的JavaScript函数”

+1

给我们提供一些代码,以及“一些闪存错误”是什么? – 2012-02-29 07:30:12

+0

我的问题实际上是“是不是只调用gobal作用域的javascript函数”? 它没有调用我的JavaScript函数,所以“我认为可能是一些Flash错误:)” – 2012-02-29 08:51:12

回答

1

简答题(iirc); “是”。

可能可以通过调用

ExternalInterface.call("eval", "data.closeItem()") 
2

你可以用JavaScript的你想在你宣布一个匿名函数来执行,并从ActionScript调用,这样来解决:

ExternalInterface.call("function() { data.closeItem(); }"); 

这个函数被上面的语法调用,执行,看起来有点奇怪,但是如果你愿意,你可以更明确地声明和分开调用,如下所示:

ExternalInterface.call("(function() { data.closeItem(); })()"); 
+0

将尝试这一个 – 2012-03-01 08:30:43