En este Tip les dejo una clase que encontr� el otro d�a perdida por el disco r�gido (y que justo andaba necesitando algo igual). Se trata de una clase que se encarga de proveer a Flex datos provenientes de la URL de la aplicaci�n, o sea, la url, el path relativo, el puerto, etc.
Código :
package com.alfathenus.core.utils { import flash.external.ExternalInterface; import mx.core.Application; import mx.collections.ArrayCollection; import mx.controls.Alert; /** * * Clase que maneja el window del browser de la aplicacion * */ public class HTTPUtil { //-------------------------------------------------------------------------- // Constructor //-------------------------------------------------------------------------- /** * * Construcgor * */ public function HTTPUtil() { } /** * * Me devuelve la url de la p�gina * */ public static function getUrl():String { return ExternalInterface.call( "window.location.href.toString" ); } /** * * Me devuelve el host de la pag * * @example: http://www.flexpasta.com/?x=1&y=2 => me devuelve => www.flexpasta.com * */ public static function getHostName():String { return ExternalInterface.call( "window.location.hostname.toString" ); } /** * * Me devuelve el protocolo (http:, https:, etc) * */ public static function getProtocol():String { return ExternalInterface.call( "window.location.protocol.toString" ); } /** * * Me devuelve el puerto de la aplicaicon * */ public static function getPort():String { return ExternalInterface.call( "window.location.port.toString" ); } /** * * Me devuelve el path relativo a la aplicacion * * @example http://www.ejemplo.com/test?x=1&y=2 => devuelve => /test */ public static function getContext():String { return ExternalInterface.call( "window.location.pathname.toString" ); } /** * * Me devuelve el valor de un par�metro del QueryString * */ public static function getParameterValue(key:String):String { var value:String; var uparam:String = ExternalInterface.call( "window.location.search.toString" ); if(uparam == null) { return null; } var paramArray:ArrayCollection = new ArrayCollection( uparam.split( '&' ) ); for(var x:int = 0; x < paramArray.length ; x++) { var p:String = paramArray.getItemAt( x ) as String; if(p.indexOf( key + '=' ) > -1) { value = (p.replace( (key + '=') , '' )).replace( '?' , '' ); x = paramArray.length; } } return value; } } }
Se aceptan como siempre sugerencias para su mejora.
Saludos!