2010-12-10 44 views
1

调用在Flash弹出窗口的JavaScript函数,我调用使用AS3 ExternaInterface:呼叫在由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函数?

回答

3

您需要存储对您打开的窗口的引用才能访问它。如果你控制的HTML /主力主攻的JavaScript中,你可以插入这样的事情到<script>块:

var popupref; 

和窗口开启功能:

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

,然后在你的ExternalInterface打开你的窗口

ExternalInterface.call("openWindow"); 

,并打电话给你的弹出窗口

ExternalInterface.call("popupref.myfunc"); 

我不知道我的头顶,但你可能可以通过嵌入整个popupref = window.open(...)调用来制作ExternalInterface.call(...)

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

+0

传递“window.open”到ExternalInterface.call()的作品,但我将无法将我自己的数据传递给弹出 – Dave 2010-12-10 06:34:09