Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ferrera

Problemas integracao flash+xml

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.