gpt4 book ai didi

javascript - 如何从 Adob​​e AIR 应用程序内的网页调用 AS3 代码?

转载 作者:行者123 更新时间:2023-11-28 10:49:16 26 4
gpt4 key购买 nike

我们有一个 Adob​​e AIR 应用程序,有时会加载网页。在这些网页之一上有一个超链接。单击超链接时,我希望调用 AS3 函数。我知道如何在单击超链接时调用 JavaScript 函数,但在 JavaScript 函数中如何调用我的 AS3 函数?

在所有示例中,我可以发现 Flash 是网页上的 SWF,因此位于 DOM 元素内。因此,在代码示例中,他们在 DOM 元素上调用 AS3 函数,如下所示:

function sendTextToAS3() {
var Txt = document.getElementById('htmlText').value;
var flash = document.getElementById("as3_js");
flash.sendTextFromJS(Txt);
document.getElementById('htmlText').value = "";
}

但在我的例子中,Flash 不是 DOM 元素内的 SWF,相反,Flash 是整个 Adob​​e Air 应用程序,并且不存在带有 SWF 的 DOM 元素。那么,如果我无法通过 DOM 元素来调用 AS3 函数,我该如何调用它呢?

最佳答案

如果您使用 mx:HTML 组件来显示 html 页面。然后您可以使用以下方法从 javascript 调用 as3 函数:

  1. 在html页面中,定义回调函数:

    var linkClicked = function () {}
  2. 在as3代码中,定义回调函数:

    function linkClicked():void {
    // Your logic here
    }
  3. 在as3代码中,重写回调函数的定义:

    // var html:HTML = new HTML();
    // load page ...
    // when the page is loaded
    html.domWindow.linkClicked = linkClicked;

为了简单起见,javascript linkClicked 函数是在 window 对象上定义的。

现在,每次从 javascript 调用 linkClicked 时都会执行 as3 代码。

关于javascript - 如何从 Adob​​e AIR 应用程序内的网页调用 AS3 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com