在Adobe Flex桌面应用程序中打开网页

时间:2015-01-20 05:35:08

标签: actionscript-3 flex

我们正在使用Adobe Flex开发一个小型桌面应用程序。在这个应用程序中,我们将有一个带输入框的屏幕,用户将在其中输入任何网站的URL然后输入。

提供URL后,桌面应用程序会将该网页打开到URL输入框正下方的同一屏幕。此外,我们想要一个选项来手动捕获该打开的网页的截图(即点击按钮)。

当在桌面应用程序中打开网页时,我们的屏幕应该像浏览器一样工作,即我们可以通过单击网页转到任何内部页面,而不是在输入框中提供另一个URL。

我们已经搜索了很多相同的东西,但没有得到任何东西。任何人都可以向我们解释,我们如何在桌面应用程序中实现这种功能?或者是否可以使用Adobe Flex制作此应用程序?

您的解决方案将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用HTML control

执行此操作

举个例子:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       width="920" height="580">

    <fx:Script>
        <![CDATA[

            protected function btn_history_back_clickHandler(event:MouseEvent):void
            {           
                // history back
                html_browser.historyBack();             
            }
            protected function btn_history_forward_clickHandler(event:MouseEvent):void
            {               
                // history forward
                html_browser.historyForward()
            }

            protected function btn_go_clickHandler(event:MouseEvent):void
            {
                var url:String = txt_url.text;              
                if(url != '')
                {   
                    if(url.substr(0, 4) == 'http')
                    {
                        // open the typed url
                        html_browser.location = url;
                    }                   
                }
            }

            protected function html_browser_locationChangeHandler(event:Event):void
            {
                // update our url text input
                txt_url.text = html_browser.location;
            }

        ]]>
    </fx:Script>

    <mx:HTML id="html_browser" x="6" y="39" width="905" height="511"
             locationChange="html_browser_locationChangeHandler(event)"/>
    <s:Button id="btn_forward" x="38" y="10" width="28" label="&gt;" click="btn_history_forward_clickHandler(event)"/>
    <s:Button id="btn_go" x="858" y="10" width="50" label="GO" click="btn_go_clickHandler(event)"
              enabled="true"/>
    <s:TextInput id="txt_url" x="74" y="10" width="775"/>
    <s:Button id="btn_back" x="10" y="10" width="28" label="&lt;" click="btn_history_back_clickHandler(event)"/>
</s:WindowedApplication>

这会给你这样的东西(只是我按下后退按钮来显示不同的页面,它是同一个窗口):

enter image description here

当然,这只是一个非常简单的示例,向您展示如何开始,您可以根据您的特定需求进行改进和调整。

希望可以提供帮助。