AS3 ExternaInterface:在Flash调用的弹出窗口中调用javascript函数

时间:2010-12-10 04:26:09

标签: javascript html actionscript-3 flash-cs5

在Flash中,我使用

调用了一个弹出窗口
ExternalInterface.call("window.open","http://www.mypage.com,"win","height=640,width=480,toolbar=no,scrollbars=yes");

在调用的弹出窗口中,有一个我想要访问的javascript函数。如果javascript与电影在同一页面,我可以使用

ExternalInterface.call("jsFunction", "value")

既然不是,我如何在弹出窗口中访问javascript函数?

1 个答案:

答案 0 :(得分:3)

您需要存储对您打开的窗口的引用,以便能够访问它。如果你控制main main的HTML / Javascript,你可以在<script>块中插入这样的东西:

var popupref;

和窗口打开功能:

function openWindow() {
    popupref = window.open(/*your params here*/)
}

然后在ExternalInterface打开窗口

ExternalInterface.call("openWindow");

并调用弹出窗口

ExternalInterface.call("popupref.myfunc");

我不知道我的头脑,但您可以通过在其中嵌入整个ExternalInterface.call(...)来调用popupref = window.open(...)

请注意,您打开的窗口必须来自同一个域和端口,否则跨域浏览器安全性将无法让您拨打电话。