ferrera 0 Denunciar post Postado Setembro 29, 2010 Olá. tenho um mapa onde ao clicar é exibido o estado e os dados do representante. Ocorre que esses dados vem de um xml. No entanto eu gostaria que ao clicar no email (que vem do xml), fosse chamado o gerenciador de emails da pessoa, mas nao estou conseguindo isso. Na verdade o que ele está fazendo é transformar todos os campos, (nome, cidade, email, telefone)em um botao que chama um link. alguem poderia me ajudar? segue o a.s bem como o xml de que estou falando hover._visible = false; var lastLength:Number; var dlrXML:XML = new XML(); dlrXML.ignoreWhite = true; dlrXML.onload = function() { var pagelength = dlrXML.firstChild.childNodes.length; for (var i = 0; i < pagelength; i++) { var statesnode = dlrXML.firstChild.childNodes[i]; statename = statesnode.attributes.name; stateid = statesnode.attributes.id; map["state" + (i + 1)].id = i; //These commented out rollOvers will display the state name //in the text box above the map rather than the hover caption //Note: you also need to comment out any hover references in the rollOverState function //Also uncomment the statetxt line /*map["state" + (i + 1)].onRollOver = function() { this.colorTo(0xffffff,0); rollOverState(this.id); }; map["state" + (i + 1)].onRollOut = function() { this.colorTo(0x990000,1.5,"easeOutExpo"); };*/ //calls the rollOverState function and controls the rollOver map colors. map["state" + (i + 1)].onRollOver = function() { this.colorTo(0xffffff,0); hover.startDrag([lockCenter]); hover.fadeIn(0.3,"easeOutExpo"); rollOverState(this.id); }; map["state" + (i + 1)].onRollOut = map["state" + (i + 1)].ondragOut = function () { this.colorTo(0x990000,1.5,"easeOutExpo"); hover.stopDrag(); hover.fadeOut(0.3,"easeOutExpo"); hover.txt.text = ""; }; var dealerlength = statesnode.childNodes.length; map["state" + (i + 1)].onRelease = function() { scroller.scrollbar.scroller.slideTo(0,0.5,"easeOutExpo"); showDealers((this.id)); }; } }; dlrXML.load("dealers/dealers.xml"); function showDealers(itemID) { var statesnode = dlrXML.firstChild.childNodes[itemID]; var dealerlength = statesnode.childNodes.length; var depth = 5500; showState(itemID); for (var i = 0; i < lastLength; i++) { scroller.scrollContent.dealerWindow["dealerMC" + i].removeMovieClip(); } for (var k = 0; k < dealerlength; k++) { var company = statesnode.childNodes[k].attributes.company; var city = statesnode.childNodes[k].attributes.city; var phone = statesnode.childNodes[k].attributes.phone; var link = statesnode.childNodes[k].attributes.linkdisplay; scroller.scrollContent.dealerwindow.attachMovie("dealerMC","dealerMC" + k,depth++); var mc = scroller.scrollContent.dealerWindow["dealerMC" + k]; mc.id = k; mc._alpha = 0; mc.alphaTo(100,1.5,"easeOutExpo",(k / 10)); mc._y = 25 + (k * 90); mc.companytxt.text = company; mc.citytxt.text = city; mc.phonetxt.text = phone; mc.webtxt.text = link; mc.onRelease = function() { launchLink(this.id,itemID); }; } lastLength = dealerlength; } function launchLink(id1, id2) { var web = dlrXML.firstChild.childNodes[id2].childNodes[id1].attributes.website; getURL(web, "_blank"); } function showState(itemID) { scroller.scrollContent.dealerwindow.statetxt._alpha = 0; scroller.scrollContent.dealerwindow.statetxt.alphaTo(100,0.5,"easeOutExpo"); var statesnode = dlrXML.firstChild.childNodes[itemID]; statename = statesnode.attributes.name; scroller.scrollContent.dealerwindow.statetxt.text = statename; } function rollOverState(itemID) { var statesnode = dlrXML.firstChild.childNodes[itemID]; hover.txt.autoSize = true; statename = statesnode.attributes.name; stateid = statesnode.attributes.id; hover.txt.text = statename; //statetxt.text = statename; } <?xml version="1.0" encoding="utf-8"?> <dealers> <state id="1" name="Alabama" > <dealer company="company 1" city="city1" phone="800-888-8888" linkdisplay="www.flashden.net" website="http://www.flashden.net/user/rondog?ref=rondog" /> <dealer company="company 2" city="city2" phone="800-888-8888" linkdisplay="www.flashden.net" website="http://www.flashden.net/user/rondog?ref=rondog" /> <dealer company="company 3" city="city3" phone="800-888-8888" linkdisplay="www.flashden.net" website="http://www.flashden.net/user/rondog?ref=rondog" /> </state> </dealers> Compartilhar este post Link para o post Compartilhar em outros sites
Ohrlando 0 Denunciar post Postado Setembro 29, 2010 Opa e aí... não li todo o código que mandou, mas parece que o que você tá querendo é simplesmente clicar no email e abrir o outlook por exemplo... faz link_email = "mailto:"+emailDoXML; getToURL(link_email); ai idéia é acrescentar o mailto na verdade... não esqueça de fazer dentro do *.onRelease = function() {...} abraço Compartilhar este post Link para o post Compartilhar em outros sites
ferrera 0 Denunciar post Postado Setembro 29, 2010 Então, na verdade eu peguei esse flash + xml meio que pronto e to tentando adaptar isso que te falei. Já tentei mas não consegui fazer funcionar... Acho que tem que trabalhar com o codigo inteiro.. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 30, 2010 1 Abrir gerenciador de email é furada Boa parte da população usa gmail ou hotmail ou que seja... para acessar coisas do gênero Empresas num geral é que fazem seus funcionários terem uma conta de outlook ou coisa parecida Porque você não coloca no link que vai pro email como o colega informou getURL("mailto: "+email) Se você tiver isso ele vai abrir o gerenciador da pessoa... isso pode ser botão ou o quer que seja... é a mesma coisa que um: <a href="mailto: exemplo@exemplo.com">exemplo@exemplo.com</a> Abraços Compartilhar este post Link para o post Compartilhar em outros sites
ferrera 0 Denunciar post Postado Setembro 30, 2010 ok, vou tentar e posto o resultado aki. obrigado Compartilhar este post Link para o post Compartilhar em outros sites