在 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函数呢?
最佳答案
您需要存储对您打开的窗口的引用才能访问它。如果您控制 main main 的 HTML/Javascript,您可以将类似这样的内容插入到 <script>
中。 block :
var popupref;
和开窗函数:
function openWindow() {
popupref = window.open(/*your params here*/)
}
然后在你的ExternalInterface
打开你的 window
ExternalInterface.call("openWindow");
并调用你的弹出窗口
ExternalInterface.call("popupref.myfunc");
我一时半会儿也不知道,但你有可能做到 ExternalInterface.call(...)
通过嵌入整体 popupref = window.open(...)
调用它。
请注意,您打开的窗口必须来自相同的域和端口,否则跨域浏览器安全性将不允许您进行调用。
关于javascript - AS3 外部接口(interface) : Call a javascript function in a pop-up window invoked by Flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405651/