2

我正在尝试将 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

谢谢 !

4

1 回答 1

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 容器(通常是浏览器)的应用程序中打开或替换一个窗口。在 Adob​​e AIR 中,该函数会在默认系统 Web 浏览器中打开一个 URL。

参数

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

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

“_self”指定当前窗口中的当前帧。“_blank”指定一个新窗口。“_parent”指定当前帧的父级。“_top”指定当前窗口中的顶级框架。网址请求():

创建一个 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.
于 2013-10-12T05:17:28.523 回答