Ultimas Entradas »
Ultimos Comentários »
Entradas Populares »

Flex deepLinking - Parametros browser

Escrito por Mário Santos em Maio 13, 2008 – 10:07 am

Ontem tive um pequeno problema a desenvolver parte de um aplicativo (o frontend para o meu sistema imobiliário) onde necessitava de saber onde estava a correr o aplicativo, bem como o caminho relativo do servidor, já que tinha que obter varios caminhos para fotografias onde esses caminhos poderiam variar. Ou seja, precisava de saber o caminho onde as minhas fotos se encontravam, já que se estivesse a correr apenas em, por exemplo www.msdevstudio.com/immo/frontend/ saberia exactamente onde encontrar as minhas fotos, que estariam no caminho absoluto www.msdevstudio.com/immo/frontend/imgs mas o problema seria se mudasse de servidor, as fotos poderia passar a estar em www.meuserverto.com/imgs e aí teria que programar o flex para ir procurar as fotos a este caminho… mas dizem voces, porque não usar apenas source=”imgs/imgExempo1.png” ? pelo simples motivo que necessito de juntar algumas fotos a um HTML text, bem como dar a possibilidade do user mudar a directoria das imagens e os caminhos relativos. (não encontrei outra solução para já…)

Bom, dei de caras com as propriedades deepLink, que podem ser obtidas atravéz do browserManager/URLUtil, por isso fiz um pequeno exemplo que podem usar nas vossas aplicações, copiando o contudo do arquivo que disponibilizo em baixo para a raiz da vossa aplicação, depois basta fazerem o import na vossa aplicação:

import com.msdevstudio.urlUtils;

São então disponibilizadas as seguintes funções:

getPort():String

getProtocol():String

getServer():String

getDoc():String

getTodo():String

getPath():String

onde para receberem os respectivos elementos devem usar:

   1: var util:urlUtils = new urlUtils();
   2: //tomando como exemplo o link: http://msdevstudio.com/immo/backend/backend.html
   3:
   4: //buscar nome do servidor:
   5: var nomeServidor:String = util.getServer();
   6: //devolve: msdevstudio.com
   7:
   8: //buscar protocolo
   9: var protocolo:String = util.getProtocol();
  10: //devolve http
  11:
  12: //buscar porta
  13: var porta:String = util.getPort();
  14:
  15: //buscar url completo
  16: var urlCompleto:String = util.getTodo();
  17: //devolve http://msdevstudio.com/immo/backend/backend.html
  18:
  19: //buscar caminho relativo 
  20: var caminho:String = util.getPath();
  21: //devolve http://msdevstudio.com/immo/backend/
  22:
  23: //buscar o nome do portador do swf
  24: var documento:String = util.getDoc();
  25: // devolve backend.html

Isto não é nada mais que um simples package que simplifica as coisas em aplicações medias/grandes e que em muitas variadas situações se torna muito util.

Podem fazer o download aqui.

fiz um package pelo simples motivo de ajudar a quem ler a perceber como um package funciona, bem como se podem tornar simples a utilização destes packages principalmente pela sua reutilização por outros programadores e outras aplicações. Podem ver o código comentado também.

Aguarda-se feedback.

pdf Este artigo está disponivel em pdf para download.


Tags: , , , , , , , , ,
Escrito em Action Script & MXML, Flex | 1 Comentário »