Comunidad de diseño web y desarrollo en internet online

Problema con htmlText en TextField dentro de instancia dinámica de MC

Citar            
MensajeEscrito el 10 Mar 2011 12:08 am
Hola a todos! Soy nuevo y tengo un problema... y creo que con el título ya he explicado medio :lol:
Al lío. Os comento que estoy haciendo una web en la que hay una sección de noticias. Quiero que, para actualizar las noticias, me baste con subir al servidor un html con nombre+número consecutivo (es decir, "new53.html", "new54.html", etc). Para ello tengo una función que carga con getURL la noticia 1, si la carga tiene éxito va a por la segunda, etc...
Todo esto funciona. Para mostrar las noticias, lo que hago es declarar dinámicamente instancias de un movieclip llamado "noticia", que contiene un campo de texto dinámico que es el que quiero que muestre el contenido del html. Y aquí viene el problema, ya que si asigno el texto descargado al atributo htmlText de ese texto, no se ve nada, ni en tiempo de ejecución ni sacando el htmlText por trace. En cambio, si el contenido descargado lo asigno al atributo text, se muestra correctamente. He activado la casilla de html en el campo de texto dinámico del movieclip padre, aunque no sé si eso es necesario en AS3.

En fin, sin enrollarme más os enseño el código:

Código :

var theurl:String = "http://www.xxxxxxx.com/news/new";
var Noticias:Array = [];
var contenedor:URLLoader=new URLLoader(); 
//Aquí la función a la que llamo inicialmente
function loadNoticias(){
   trace("Cargando noticias");
   var miurl:String = theurl + (numnoticia+1) + ".html";
   trace (miurl);
   contenedor.addEventListener(Event.COMPLETE, loadNoticia);
   contenedor.addEventListener(IOErrorEvent.IO_ERROR, txtError);
   contenedor.load(new URLRequest(miurl)) ;
}

//y aquí el EventListener de cuando la descarga tiene éxito:
function loadNoticia(e:Event){
   var loader:URLLoader = URLLoader(e.target);
   trace ("rellenando una noticia cargada correctamente");
   //creo una instancia nueva del MC "noticia" que contiene el TextField
        lanoticia = new noticia();
   Noticias[numnoticia]=lanoticia;
   lanoticia.instanceName="noticianum"+numnoticia;
   lanoticia.x=40;
   lanoticia.y=0;
   
   lanoticia.textonoticia.type = TextFieldType.DYNAMIC;
   lanoticia.textonoticia.multiline = true;
   lanoticia.textonoticia.htmlText=loader.data;
   lanoticia.textonoticia.autoSize = TextFieldAutoSize.LEFT;

   addChild(lanoticia);
   trace(Noticias[numnoticia].textonoticia.htmlText);
   
   //cargo las siguientes siempre que la descarga tiene éxito.
   trace("Cargando más noticias");
   numnoticia++;
   var miurl:String = theurl + (numnoticia+1) + ".html";
   trace (miurl);
   contenedor.addEventListener(Event.COMPLETE, loadNoticia);
   contenedor.addEventListener(IOErrorEvent.IO_ERROR, txtError);
   contenedor.load(new URLRequest(miurl)) ;
}


¿Se os ocurre dónde puede estar el fallo?

Muchas gracias de antemano.

Un saludo!

Por Kingofslide54

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 10 Mar 2011 02:05 am
Es probable que haya algún caracter que rompa el HTML, prueba con un HTML muy básico

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Mar 2011 07:38 pm
Hola, Jorge, muchas gracias! El problema era simplemente ese!

Ahora tengo otros... al mostrarme el textfield con su contenido, no respeta el formato descrito en el html, ni me respeta los acentos.

Si alguien tiene alguna idea al respecto, ya me acabáis de hacer padre.

Muchas gracias de nuevo!

Por Kingofslide54

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 10 Mar 2011 07:54 pm
¿Los acentos están como entidades de html? ¿Los tags están soportados por Flash? Sino tendrás que usar una hoja de estilo CSS

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Mar 2011 11:28 pm
Hola, Jorge. De nuevo muchas gracias. He solucionado el problema, aunque noentiendo muy bien cómo.... sospecho que el archivo html del quen cargo la noticia no se estaba actualizando cada vez que abría la web, con lo que me temo que muchas veces lo he hecho bien pero el swf carbgaba el html de la caché, o algo... complicado.

Ahora me funciona bien lo que le ponga en configuración de la publicación.

Tenía que haber seguido en AS2... :(

Por Kingofslide54

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 10 Mar 2011 11:29 pm
Se me ha borrado una línea... decía que me funciona bien en local pero al colgarla no me muestra el html, le ponga lo que le ponga en configuración de la publicación.

Por Kingofslide54

5 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.