我可以在iFrame中使用我的Flash AS2 swf中的ExternalInterface来调用javascript方法吗?

时间:2011-05-25 11:37:48

标签: javascript flash iframe actionscript-2 externalinterface

我有一个PHP脚本,其中包含一个头文件(header.php),其中包含一个包含一些javascript方法的javascript文件。

即 -

Main.php =>

include("header.php");
// This page also embeds a swf in an iFrame (myFlash.swf)

header.php =>

<html>
<head>
<script type="text/javascript" src="javascript_methods.js"></script>
</head>
<body>

javascript_methods.js =&gt;

myFunction() {
alert("function called");
}

myFlash.swf =&gt;

import flash.external.ExternalInterface;
//When I want to call the javascript function myFunction() -
ExternalInterface.call("myFunction");

我在我的应用程序中使用了ExternalInterface elesewhere并且(想)我以同样的方式使用它,但唯一的区别是这次swf在iFrame中,所以认为这可能导致问题。是否有通过iFrame从Flash通过javascript进行此通信的解决方案,或者这不是问题,我在其他地方遇到问题。

感谢

1 个答案:

答案 0 :(得分:0)

传递给ExternalInterface.call的参数将在放置闪存的文档中eval。这意味着,要使此闪存到达父窗口代码,则需要执行

ExternalInterface.call("window.parent.myFunction");