Hola a todos. He tenido una inspiración y --con un poco de ayuda de la web-- he encontrado una solución:
1. Crear un IFRAME (una vez que veas que funciona puede ser oculto) en el que se carga el archivo de texto.
2. Usar la función innerHTML para leer el contenido del IFRAME (innerText estaría mejor, pero no funciona en Firefox; he aplicado un poco de código para limpiarlo y que deje sólo el texto).
Ejemplo:
Código HTML:
<html>
<head>
<script>
function lee()
{
var tx = window.frames["elTexto"].document.body.innerHTML
var j = tx.indexOf("<pre>"), k = tx.indexOf("</pre>")
tx = tx.substring(j+5,k)
return tx
}
</script>
</head>
<body>
Texto leido de un archivo TXT:<br>
<iframe name="elTexto" src="texto.txt" ></iframe>
<br>
<form>
<input type="button" value="Leer contenido del archivo de texto =>" onClick="this.form.salida.value=lee()">
<input type="text" size="100" name="salida">
<br>
<input type="button" value="cargar archivo 1" onClick="window.frames['elTexto'].location.href='texto1.txt'">
<input type="button" value="cargar archivo 2" onClick="window.frames['elTexto'].location.href='texto2.txt'">
</form>
</body>
</html>
El ejemplo utiliza 3 archivos texto.txt, texto1.txt y texto2.txt
Con un empujoncito más, creo que tienes lo que querías.