【问题标题】:AS3 ExternaInterface: Call a javascript function in a pop-up window invoked by FlashAS3 ExternaInterface:在 Flash 调用的弹出窗口中调用 javascript 函数
【发布时间】:2010-12-10 04:26:09
【问题描述】:

在 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函数呢?

【问题讨论】:

    标签: javascript html actionscript-3 flash-cs5


    【解决方案1】:

    您需要存储对您打开的窗口的引用才能访问它。如果您控制主 main 的 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(...)

    请注意,您打开的窗口必须来自相同的域和端口,否则跨域浏览器安全将不允许您进行调用。

    【讨论】:

    • 将“window.open”传递给 ExternalInterface.call() 有效,但我无法将自己的数据传递给弹出窗口
    猜你喜欢
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2012-06-01
    相关资源
    最近更新 更多