-2

我需要在基于 Flex 的 AIR 桌面应用程序中加载页面,然后填充页面上的某些字段。我正在尝试使用 HTML 控件来加载页面,但我不知道如何与 DOM 元素交互。还有另一种方法可以做到这一点吗?

任何指示或帮助将不胜感激!

谢谢,

读写

4

2 回答 2

0

我已经成功地将 Flex / Air 应用程序中的参数作为 url 变量传递,然后在 HTML 页面(在 as3 中使用 stagewebview 加载)使用服务器端技术(php、asp 等)检索这些单独的数据元素,然后使用 javascript获取这些值并将它们设置为页面上特定字段的值。

我已经使用了两种方式,例如 html 页面可以调用由 flex / air 应用程序监控的 url 调用,并且在 as3 中我可以观察可以触发任何类型的特定 url 变量(即,当检测到 url 更改时)我想在 as3 中发生的动作,而在另一个方向上,flex / air 应用程序也可以将数据和命令/触发器发送到 HTML 页面。

AS3 StageWebViewBridge 看起来非常强大,但我还没有强迫自己获得它的所有好处,我只是使用标准的 StageWebView 来满足我的需要。祝您的项目好运,如果您对此有任何其他问题,请告诉我。

于 2013-10-26T23:23:37.700 回答
-1

感谢您的回答 - 很抱歉回复晚了,我没有通过电子邮件收到通知,我敢肯定这是我的错......

所以,我得到了这个工作。具体来说,我正在打开一个页面,在表单中填充字段,提交表单,然后收集结果。这需要大量充实,但基本概念有效:

<fx:Script>
    <![CDATA[
private function init(e:Event):void
        {
            htmlCont.addEventListener(Event.COMPLETE, htmlComplete);
            htmlCont.location="https://www.targetsite.com/pagewithform.html" 

        }
private function htmlComplete(event:Event):void
        {   
            htmlCont.domWindow.document.getElementById("fieldToFill01").value = textInput.text;
            htmlCont.removeEventListener(Event.COMPLETE, htmlComplete);
            //After new page is loaded, trigger function to get data
            htmlCont.addEventListener(Event.COMPLETE, getResult);
            //Use htmlElement.htmlLoader to access DOM click() function.
            htmlCont.htmlLoader.window.document.getElementById("ButtonID").click();


        }                  
private function getResult(e:Event):void
        {
          //Getting all <p> tags for example
          var returnedArray = htmlCont.htmlLoader.window.document.getElementsByTagName("p");
          //Different grabs of the content of a <p> tag.
          trace(returnedArray[0].innerHTML);
          trace(returnedArray[0].innerText);
          trace(returnedArray[0].textContent);
}
</fx:Script>
<!-- Inside your Application somewhere -->
<mx:HTML id="htmlCont" width="100%" height="100%" y="100"/>

同样,还有很多事情要做,我想我很快就会有一些正则表达式问题,因为我的 html 目标页面的格式还有很多不足之处!

感谢您的输入,再次抱歉没有回复的糟糕表格。

读写

于 2013-10-28T01:08:45.683 回答