我正在尝试从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
谢谢!
答案 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.