tengo un problema con un script de Flash+ASP relacionado con un libro de visitas que descargué. Tiene dos funciones principales, que serían mostrar los comentarios que existen en un .txt con formato xml y otra que sería añadir los comentarios. Esta segunda funciona perfectamente, pero la primera, que es visualizar los comentarios al ejecutar la aplicación no me funciona de ninguna manera.
Adjunto el script de Flash y los pasos y archivos que utiliza posteriormente por si alguien puede ayudarme.
Código :
stop();
// ajustes iniciales -----------------------------------
System.useCodepage = true;
//evitamos problemas con los nodos en blanco
XML.prototype.ignoreWhite = true;
_global.style.setStyle("fontSize", 10);
visitas_txt.htmlText = true;
autor_txt.restrict = "^<>";
comentario_txt.restrict = "^<>";
// fin ajustes iniciales -------------------------------
// estilos CSS para los comentarios
var my_styles:TextField.StyleSheet = new TextField.StyleSheet();
my_styles.setStyle("autor", {fontFamily:"Tahoma, Arial,Helvetica,sans-serif", fontSize:"11px", color:"#99CC00"});
my_styles.setStyle("fecha", {fontFamily:"Tahoma, Arial,Helvetica,sans-serif", fontSize:"10px", color:"#006699"});
my_styles.setStyle("comentario", {fontFamily:"Tahoma, Arial,Helvetica,sans-serif", fontSize:"10px", color:"#666666"});
visitas_txt.styleSheet = my_styles;
// objeto LoadVars par enviar comentarios
// y comprobar la operación
var visitas_lv:LoadVars = new LoadVars();
visitas_lv.onLoad = function() {
if (this.error == 0) {
comentario_txt.text="";
comentarios_xml.load("/comentarios.asp");
} else {
visitas_txt.text = "Error escribiendo comentario 1.";
}
};
// objeto XML que carga los comentarios
var comentarios_xml:XML = new XML();
comentarios_xml.onLoad = cargarComentarios;
function cargarComentarios() {
visitas_txt.text = "";
var array_temp:Array = this.firstChild.childNodes;
if (!isNaN(array_temp.length)) {
// numero de comentarios
titulo_lb.text = array_temp.length+" comentarios";
// relleno el textArea con los comentarios
array_temp.reverse();
for (var k:Number = 0; array_temp[k]; k++) {
var autor:String = unescape(array_temp[k].firstChild.firstChild.toString());
var comentario:String = unescape(array_temp[k].lastChild.firstChild.toString());
visitas_txt.text += "<p><autor>Autor: <b>"+autor+"</b></autor></p>";
visitas_txt.text += "<p><fecha>"+array_temp[k].attributes.fecha+"</fecha></p>";
visitas_txt.text += "<p><comentario>"+comentario+"</comentario></p>";
visitas_txt.text += "<p></p>";
}
}
}
// función para mandar un comentario, compruebo que el autor
// tenga por lo menos 3 caracteres y el comentario 1
function enviarComentario() {
if (autor_txt.text.length>=3 && comentario_txt.text.length>=1) {
visitas_lv.autor = escape(autor_txt.text);
visitas_lv.comentario = escape(comentario_txt.text);
visitas_lv.sendAndLoad("/add_comentario.asp", visitas_lv, "POST");
}
}
//defino la función que se ejecutará el hacer click en el botón
boton_enviar.addEventListener("click", enviarComentario);
// cargo los comentarios sin intervanción del usuario
// al entrar en la página
comentarios_xml.load("/comentarios.asp");
En esta parte final del código, como podéis comprobar, al entrar en la página, carga el archivo comentarios.asp, que es el siguiente:
Código :
<%
Response.ContentType="text/xml"
' Abro el archivo para leerlo
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("/libro.txt"), 1)
Response.write(Server.MapPath)
' Añado la declaración de documento y abro el nodo principal
Response.write("<?xml version='1.0' encoding='ISO-8859-1'?><visita>")
Response.Write(f.ReadAll)
' cierro el nodo principal, con lo que ya tengo
' un XMl bien formado
Response.write("</visita>")
' Cerramos y borramos los objetos usados
f.Close
Set f=Nothing
Set fs=Nothing
%>
Posteriormente, este asp, accede a un archivo de texto con formato xml, o sea, que lee el archivo y lo muestra en xml para que así Flash lo pueda cargar. Adjunto formato de libro.txt:
Código :
<visita fecha='7/2/2008 2:14:20 PM'> <autor>dasfasdfa</autor> <comentario>fasdfasdf</comentario> </visita>
El problema es que este procedimiento no funciona, y sin embargo, un asp parecido de añadir comentario funciona perfectamente.
Espero que me podáis ayudar.
Muchas gracias
