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!
