Foros del Web » Programando para Internet » Javascript »

Problema al leer desde javascript un fichero .txt en local

Estas en el tema de Problema al leer desde javascript un fichero .txt en local en el foro de Javascript en Foros del Web. Hola a todos. Tengo un problema a la hora de tratar el contenido de un fichero.txt con javascript. La cosa es que googleando encontré un ...
  #1 (permalink)  
Antiguo 22/09/2009, 04:48
 
Fecha de Ingreso: agosto-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Problema al leer desde javascript un fichero .txt en local

Hola a todos.
Tengo un problema a la hora de tratar el contenido de un fichero.txt con javascript.
La cosa es que googleando encontré un código para ver el contenido:
Cita:
var update;
var url2 = '~fichero.txt';
var ifr = document.createElement("iframe");
ifr.src = url2;
ifr.onload = function() {
document.getElementById(update).innerHTML = this.contentWindow.document.body.innerHTML;
}
document.getElementsByTagName("body")[0].appendChild(ifr);
Ese codígo me muetsra un iframe con el contenido de mi fichero, pero yo lo que necesito es guarar ese contenido como cadena, para luego poder tratar esa cadena. ¿Alguien podría indicarme cómo?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 22/09/2009, 06:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema al leer desde javascript un fichero .txt en local

Hola

Hasta donde yo se no se puede con javascript. Si usar un lenguaje del lado del servidor entonces es sencillo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 23/09/2009, 04:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al leer desde javascript un fichero .txt en local

Cita:
Iniciado por Adler Ver Mensaje
Hola

Hasta donde yo se no se puede con javascript. Si usar un lenguaje del lado del servidor entonces es sencillo

Suerte
mmmm se supone que no se pueden leer ficheros desde local por temas de seguridad segun leí, pero con este apaño si que se puede leer el fichero,
mi problema es que yo quiero el contenido del fichero en una variable, para tratarla como string. Vuelvo a ponerlo porque creo que lo dificl esta en leer xDD ahora la cosa es obtener el contenido en una variable.
  #4 (permalink)  
Antiguo 23/09/2009, 05:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problema al leer desde javascript un fichero .txt en local

Probá así:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script>
function tratarCadena(cadena){
	alert(cadena);
}
onload=function(){
	var url2 = 'test.txt';
	var ifr = document.createElement("iframe");
	ifr.src = url2;
	ifr.style.position='absolute';
	ifr.style.left='-1500px';
	ifr.onload = function() {
		var doc=this.contentWindow.document || this.contentDocument;
		window.contenidoIframe=doc.body.innerHTML;
	}
	ifr.onreadystatechange=function() {
		var doc=this.contentWindow.document || this.contentDocument;
		window.contenidoIframe=doc.body.innerHTML;
	}
	document.getElementsByTagName("body")[0].appendChild(ifr);
	
}
var intervalo=setInterval(function(){
	if(window.contenidoIframe){
		tratarCadena(window.contenidoIframe);
		clearInterval(intervalo);
		intervalo=null;
	}
},10);
</script>
</head>

<body>
</body>
</html>
  #5 (permalink)  
Antiguo 24/09/2009, 03:39
 
Fecha de Ingreso: agosto-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al leer desde javascript un fichero .txt en local

Hola muchas gracias por responder.
Parece ser que el "onload2 no lo carga cuando abro la página... ya que no se muestra el alert de tratarCadena.
Otra cosa, antes de cerrar la etiqueta de script aparece lo siguiente ",10);", ¿esto sirve de algo? No lo había visto nunca...

Un saludo.
  #6 (permalink)  
Antiguo 24/09/2009, 04:16
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema al leer desde javascript un fichero .txt en local

Hola

Aquí se está llamando a la función tratarCadena

tratarCadena(window.contenidoIframe);

en cuanto al ",10) fíjate se está un usando un temporizador en este caso setInterval, así que 10 corresponde a 10 milisegundos

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 29/09/2009, 04:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al leer desde javascript un fichero .txt en local

Gracias por las respuestas no me había conectado antes ;)

Me interesa que el iframe esté oculto como opcion inicial, para ello lo que hago es:
Cita:
ifr.id = "oculto";
document.getElementById("oculto").style.display="n one";
Esto me da error, ¿Sabéis cual es el motivo?

Un saludo.
  #8 (permalink)  
Antiguo 29/09/2009, 06:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Problema al leer desde javascript un fichero .txt en local

Hola

Has probado con

ifr.style.display ='none';


Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 01/10/2009, 05:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Problema al leer desde javascript un fichero .txt en local

Cita:
Iniciado por Adler Ver Mensaje
Hola

Has probado con

ifr.style.display ='none';


Suerte
Funcionó, gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:29.