Ir para conteúdo

Arquivado

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

Mutter

[Resolvido] Carregamento XML Flash - AS3.0

Recommended Posts

Olá pessoal!

 

Estou com um problema sério e bem estranho (pelo menos para mim).

 

Um simples carregamento de XML, segue o código:

 

var xmlPortfolio:XML = new XML();
var carregadorXML:URLLoader = new URLLoader();
carregadorXML.load(new URLRequest("xml/portfolio.xml"));
carregadorXML.addEventListener(Event.COMPLETE, carregaListaPortfolio);

function carregaListaPortfolio(e:Event){
xmlPortfolio = XML(carregadorXML.data);	
.......
}

 

A questão é que as vezes o XML não é carregado. E por conta disso o menu do "Portfólio" no meu site não é construído.

Aqui o meu site www.estudiob3.com.br

 

Se vocês acessarem, e o menu de "Portfólio" aparecer, é porque deu tudo certo. Mas as vezes o XML não é carregado e o menu não aparece.

 

Preciso recarregar a página varias vezes até aparecer quando não vai de primeira.

 

Esse problema já está me deixando maluco!!!

 

Conto com a colaboração de vocês!!!

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vlw pela resposta!

 

Mas infelizmente não deu certo... Continua não carregando o XML algumas vezes.

Nunca vi isso!!! Como pode um código não funcionar só algumas das vezes????? :huh:

 

Meu código ficou assim agora:

var xmlPortfolio:XML = new XML();
var carregadorXML:URLLoader = new URLLoader();
carregadorXML.addEventListener(Event.COMPLETE, carregaListaPortfolio);
carregadorXML.load(new URLRequest("xml/portfolio.xml"));

function carregaListaPortfolio(e:Event){
       xmlPortfolio = XML(carregadorXML.data); 
.......
}

 

Será que algum tratamento de exceção pode ajudar? Alguém sabe como seria??? Conto com a força de vocês!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, você carrega "xml/portfolio.xml".

 

E onde acessa os nós desse arquivo?

 

O link banners para web tem bug no scroll. Desculpe o comment, mas intros são dispensáveis.

 

 

Pelo trecho de code que postou fica difícil obter sugestões.

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew pelas resposta pessoal!!!

 

Então, eu manipulo o XML na função carregaListaPortfolio.

Mas tenho certeza de que o problema está no carregamento, porque fiz um teste. Eu simplesmente mando exibir em uma caixa de texto o meu XML, assim que ele é carregado. E o problema persiste...

 

Dá para ver esse teste neste link

Se aparecer um conteúdo XML em verde por cima do site, o XML carregou beleza, se não, pode tentar clicar em "Porfólio" que não vai funcionar já que o XML nem foi carregado.

As vezes eu tenho que insistir em recarregar a página 10 vezes pra ver o problema e vise versa...

 

Ou seja, mesmo sem manipular o XML, apenas exibindo ele em uma caixa de texto, da esse problema. Simplesmente as vezes ele não é carregado.

 

Eu já to ficando doido aqui com esse problema ridiculo!!!!!! HEEEEELLLLPPP!!!! RS....

 

Será que não tem como tratar uma possivel exceção??? Tipo no Java que tem o Try-catch...

 

Abraços e obrigado de novo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... Mas, o problema da antes de criar uma XMLList.

Só com o código a seguir já falha as vezes:

 

var xmlPortfolio:XML = new XML();
var carregadorXML:URLLoader = new URLLoader();
carregadorXML.addEventListener(Event.COMPLETE, carregaListaPortfolio);
carregadorXML.load(new URLRequest("xml/portfolio.xml"));

function carregaListaPortfolio(e:Event){
xmlPortfolio = XML(carregadorXML.data);	
       txtTesteSaida.text = xmlPortfolio;
}

*Esse é o código do teste.

 

Por isso sei que o problema é no carregamento... O que realmente é estranho... :ermm:

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pior que dá! Do mesmo jeito...

 

As vezes parece que está tudo bem, e de repente para de carregar o XML... Aí insisto mais algumas vezes e volta a carregar...

 

Realmente estranho... Nunca vi um código de programação funcionar de forma intermitente... Para mim isso não existe!

 

Por isso que gostaria de fazer algo do tipo Try-Catch. Talvez assim eu consiga uma pista do que está acontecendo...

 

Vlw!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro nenhum de execução ou de compilação...

 

Pra você ter uma idéia, esse site está no ar desde o final do ano passado, e só fui perceber esse erro a alguns dias, por conta dessa falta de consistência do problema.

 

Sobre deixar passar alguma coisa, eu já revirei o .FLA inteiro e todo o AS várias vezes e não achei nada.

 

Mas, agora que você comentou sobre erro de execução, olha só;

Eu executei o SWF direto no Flash (Ctrl+Enter) várias vezes e não consegui reproduzir o erro (por isso nunca vejo nenhum erro de execução).

 

Será que o problema pode estar no HTML que contem o SWF ??? Isso é possivel???

 

Abraços!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informe o nó ou atributo a ser carregado.

 

Seu código de teste é incompleto.

 

Não há como tentar auxiliar. Boa sorte. :bye: bye

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente garantir que o site só inicie quando o xml, que é essencial, estiver carregado.

Não sei se pode ser isso, é a única coisa que me vem em mente agora, mas por mais leve que seja um arquivo XML ele demora um pouco para ficar pronto. Então esse tempo pode ser suficiente para gerar algum problema.

 

Tente fazer isso para ver se o problema persiste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar fazer isso sim! Também é minha única esperança! :o Mas a questão é como. Com JS???

 

Alguma sugestão de como fazer isso?

 

Elektra, o código está completo sim. O erro não tem relação com o nó do XML que estou usando. A questão é que as vezes o XML não é carregado, logo, o nó que eu uso não faz diferença. Mas obrigado!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera!!!

 

Boas noticias! Finalmente deu certo agora!!! :D

 

Pelo menos atulizei a página "um zilhão" de vezes e carregou o XML em todas elas...

 

Provavelmente vou morrer sem descobrir o que realmente aconteceu. Mas partilho aqui com vocês a boa notícia e a solução.

 

Simplesmente coloquei o carregamento do XML em um frame exclusivo. Ou seja, nesse frame tudo que é feito e carregar o XMl, e só quando o XML for carregado eu passo para o proximo frame e chamo a função que manipula seus nós. Segue o código:

 

stop();

var xmlPortfolio:XML = new XML();
var carregadorXML:URLLoader = new URLLoader();
carregadorXML.load(new URLRequest("xml/portfolio.xml"));

stage.addEventListener(Event.ENTER_FRAME, carragaXML);

function carragaXML(evt:Event):void{
var totalXML:Number = carregadorXML.bytesTotal;
var carragadoXML:Number=carregadorXML.bytesLoaded;
percentual.text=Math.floor((carragadoXML/totalXML)*100)+"%";
mcBarraLoading.scaleX=carragadoXML/totalXML;
if (carragadoXML==carragadoXML) {			
	stage.removeEventListener(Event.ENTER_FRAME, carragaXML);
	play();
}
}

 

Muito obrigado Marcos Cardoso e Elektra!!! :clap:

 

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.