In some cases, it is important to get information about the current URL. You do this by using the BrowserManager and the URLUtil class.
You use the BrowserManager to get the URL, using either the url, fragment, or base properties. You can then use convenience methods of the URLUtil class to parse URLs. You can use these methods to extract the port, protocol, and server name from the URL. You can also use the URLUtil class to check if the protocol is secure or not.
The following example use the URLUtil and BrowserManager classes to get information about the URL used to return the application.
<?xml version="1.0" encoding="utf-8"?>
<!-- deeplinking/UseURLUtil.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
historyManagementEnabled="false"
creationComplete="initApp()"
height="250"
width="500"
>
<mx:Script>
<![CDATA[
import mx.utils.URLUtil;
import mx.managers.IBrowserManager;
import mx.managers.BrowserManager;
import mx.events.BrowserChangeEvent;
public var browserManager:IBrowserManager;
private function initApp():void {
browserManager = BrowserManager.getInstance();
browserManager.addEventListener(BrowserChangeEvent.URL_CHANGE, showURLDetails);
browserManager.init("", "Welcome!");
}
[Bindable]
private var fullURL:String;
[Bindable]
private var baseURL:String;
[Bindable]
private var fragment:String;
[Bindable]
private var protocol:String;
[Bindable]
private var port:int;
[Bindable]
private var serverName:String;
[Bindable]
private var isSecure:Boolean;
[Bindable]
private var previousURL:String;
private function showURLDetails(e:BrowserChangeEvent):void {
var url:String = browserManager.url;
baseURL = browserManager.base;
fragment = browserManager.fragment;
previousURL = e.lastURL;
fullURL = mx.utils.URLUtil.getFullURL(url, url);
port = mx.utils.URLUtil.getPort(url);
protocol = mx.utils.URLUtil.getProtocol(url);
serverName = mx.utils.URLUtil.getServerName(url);
isSecure = mx.utils.URLUtil.isHttpsURL(url);
}
]]>
</mx:Script>
<mx:Form>
<mx:FormItem label="Full URL:">
<mx:Label text="{fullURL}"/>
</mx:FormItem>
<mx:FormItem label="Base URL:">
<mx:Label text="{baseURL}"/>
</mx:FormItem>
<mx:FormItem label="Fragment:">
<mx:Label text="{fragment}"/>
</mx:FormItem>
<mx:FormItem label="Protocol:">
<mx:Label text="{protocol}"/>
</mx:FormItem>
<mx:FormItem label="Port:">
<mx:Label text="{port}"/>
</mx:FormItem>
<mx:FormItem label="Server name:">
<mx:Label text="{serverName}"/>
</mx:FormItem>
<mx:FormItem label="Is secure?:">
<mx:Label text="{isSecure}"/>
</mx:FormItem>
<mx:FormItem label="Previous URL:">
<mx:Label text="{previousURL}"/>
</mx:FormItem>
</mx:Form>
</mx:Application>