¿Quieres registrarte?

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

Por: alfathenus
27 de Mayo del 2009
2,125 visitas

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 a twitter Enviar a facebook


También te interesa


Etiquetas flex actionscript_3

Comentarios | Enviar un comentario
Interesante clase.. muy útil. Gracias por compartir (y)
Por: Zguillez
que buen aporte muchas gracias la adaptare a flash
Por: hellomynameistoy
con internet explorer 6 no funciona. Con firefox y safari, sí.
Por: Raúl-blog
Raúl-blog:

No te funciona con IE 6 porque debes implementar el Flash embebido con el objeto SWFObject, busca información de cómo hacerlo y se te solucionará el problema.

Saludos.
Por: Brutaurus-blog
necesito saber la informacion de las paginas
que habro por ejemplo la informacion de yahoo de hotmail y asi cualquiera que habra
Por: apoc
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.