Obtener informaci�n de la direcci�n URL desde Actionscript 3

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!

Enviar comentario

Deja una respuesta