从外部浏览器中的HTML组件中弹出打开的URL

时间:2013-10-12 05:15:06

标签: html flex url browser external

我正在尝试从HTML组件中打开URL链接到系统浏览器。

我正在使用此方法创建多个HTML组件子项,并且所有这些项都添加到Vgroup中。

        public function addHtmlText(htmlValue:String):void {

            var htmlData:HTML = new HTML();
            htmlData.percentWidth = 95;             
            htmlData.htmlText = htmlValue 
            htmlData.horizontalScrollPolicy="false"
            htmlData.verticalScrollPolicy="false"
            chatCanvas.addElement(htmlData);
        }

这就是我将海峡文本链接渲染成真实链接()

的方法
public function emoUrl(emoValue:String):String {


            var urlRegex:RegExp = /(((http|ftp|https):\/\/){1}([a-zA-Z0-9_-]+)(\.[a-zA-Z0-9_-]+)+([\S,:\/\.\?=a-zA-Z0-9_-]+))/igs
            var emoValue1:Array = emoValue.match(urlRegex);

            if (urlRegex.test(emoValue)) {

                emoValue = emoValue.split(emoValue.match(urlRegex)).join('<a href="'+emoValue1.toString()+'">'+emoValue1.toString()+'</a>')

            }
                return emoValue;
  }

问题在于,因为这些都是单独的HTML组件元素,用户可以单击其中任何一个以在系统浏览器中打开。

目前,该链接将打开,但在html组件中。我需要它是外部的。

我在互联网上发现这可能有所帮助,但我不知道如何根据我的需要实现它。

htmlData.htmlLoader.navigateInSystemBrowser = true

谢谢!

1 个答案:

答案 0 :(得分:2)

为网页创建一个URLRequest,并使用navigateToURL打开它:

var urlRequest:URLRequest = new URLRequest("http://www.adobe.com/");
navigateToURL(urlRequest);
Example loading a page upon click of a button with Flex MXML:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark">

    <fx:Script>
        <![CDATA[
            import flash.net.navigateToURL;

            protected function clickHandler(event:MouseEvent):void
            {
                navigateToURL(new URLRequest("http://www.adobe.com"), "_blank");
            }
        ]]>
    </fx:Script>

    <s:Button label="Open page"
              click="clickHandler(event)" />

</s:Application>
navigateToURL():

打开或替换包含Flash Player容器(通常是浏览器)的应用程序中的窗口。在Adobe AIR中,该函数在默认系统Web浏览器中打开URL。

参数

request:URLRequest - 一个URLRequest对象,指定要导航到的URL。对于在Adobe AIR中运行的内容,当使用navigateToURL()函数时,运行时会将使用POST方法的URLRequest(其方法属性设置为URLRequestMethod.POST)视为使用GET方法。

window:String(default = null) - 用于显示请求参数指示的文档的浏览器窗口或HTML框架。您可以输入特定窗口的名称或使用以下值之一:

“_ self”指定当前窗口中的当前帧。 “_blank”指定一个新窗口。 “_parent”指定当前帧的父级。 “_top”指定当前窗口中的顶级框架。 的URLRequest():

创建一个URLRequest对象。如果System.useCodePage为true,则使用系统代码页而不是Unicode对请求进行编码。如果System.useCodePage为false,则使用Unicode而不是系统代码页对请求进行编码。

参数

url:String (default = null) — The URL to be requested. You can set the URL later by using the url property.