Flex deepLinking - Parametros browser
Escrito por Mário Santos on Maio 13, 2008 – 10:07 amOntem 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:
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.
Este artigo está disponivel em pdf para download.
Tags: Action Script, as3, browser, código fonte, componentes, deep linking, exemplos, parametros, Source Code, url
Colocado em Action Script & MXML, Flex |












Maio 13th, 2008 at 1:31 pm
Como sempre um verdadeiro Serviço de Utilidade Pública, meu caro!
Obrigado pela dica!
Ved