Datei laden
martin
- javascript
Hallo, kann man mit javascript eine Textdatei in ein array oder in einen string laden?
Ziel ist, ich möchte eine bestehende Textdatei nach bestimmten Begriffen durchsuchen. Gruß martin
Hi,
direkt kann man das glaube ich nicht machen. Schau Dir das mal an: http://aktuell.de.selfhtml.org/artikel/javascript/file-open/index.htm
Das sollte Dich ein Stück weiterbringen. Aber ist nicht sinnvoller, diese Daten direkt auf dem Server zu durchsuchen. Das schont Netzressourcen.
Viele Grüße...
Alex :)
Hallo Alex, vielen Dank für Deine Hilfe. Gruß martin
gruss martin,
Hallo, kann man mit javascript eine Textdatei in ein array oder in einen string laden?
unter windows/gecko,msie,opera7x kannst Du txt-files
in fenster oder frames laden, deren inhalt wiederum
einem string zugewiesen werden kann - das folgende
beispiel ist kommentiert - erfolg fuer alle browser
ist Dir aber nur beschieden, wenn Du tatsaechlich
vorhandene txt-files (msie schafft es naemlich auch
mit document.open("text/plain") und einem "virtuellen"
textstream) verwendest - wie diese datei fuer das
beispiel beschaffen sein soll, ist ebenfalls im
kommentar nachzulesen - so, hier nun der code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>tryToReadText.html</title>
<script type="text/javascript" language="JavaScript">
<!--
var textFileWindow = new Object();textFileWindow.closed = true;
var textFileString = "";
// var textFileString = ""+ // zur pruefung des beispiels:
// "row00: dummyText dummyText dummyText dummyText dummyText\n"+ //
// "row01: dummyText dummyText dummyText dummyText dummyText\n"+ // den inhalt dieser variable
// "row02: dummyText dummyText dummyText dummyText dummyText\n"+ // bitte als separaten textfile
// "row03: dummyText dummyText dummyText dummyText dummyText\n"+ // mit namen "tryToReadText.txt"
// "row04: dummyText dummyText dummyText dummyText dummyText\n"+ // umsetzen und zusammen mit dem
// "row05: dummyText dummyText dummyText dummyText dummyText\n"+ // beispiel "tryToReadText.html"
// "row06: dummyText dummyText dummyText dummyText dummyText\n"+ // in ein verzeichnis legen;
// "row07: dummyText dummyText dummyText dummyText dummyText\n"+ //
// "row08: dummyText dummyText dummyText dummyText dummyText\n"+ // funktioniert unter windows mit
// "row09: dummyText dummyText dummyText dummyText dummyText\n"; // gecko-engines, msie sowie opera 7.x
function opentextFileWindow(content) {
if (textFileWindow.closed) {
// textFileWindow = window.open("","","width=500,height=600,scrollbars");
textFileWindow = window.open("tryToReadText.txt","textWin","width=500,height=600,scrollbars");
}
// textFileWindow.document.open("text/plain","replace");
// textFileWindow.document.write(content);
// textFileWindow.document.close();
if (location.replace || document.all) {
textFileWindow.location.replace("tryToReadText.txt");
}
textFileWindow.focus();
}
function getWindowContent() {
if (textFileWindow && !textFileWindow.closed) {
if (textFileWindow.document && textFileWindow.document.documentElement) {
var textObject = textFileWindow.document.documentElement;
// alert(typeof textObject);
var property = "";
var objectLog = "";
for (property in textObject) {
objectLog += property + "\t: " + textObject[property] + "\n";
}
// alert(objectLog);
// alert(textObject.innerHTML);
var windowFileText = textObject.innerHTML;
// opentextFileWindow(objectLog);
if (!textFileWindow.closed) {
textFileWindow.document.open("text/plain","replace");
textFileWindow.document.write(objectLog);
textFileWindow.document.close();
}
// inhalt eines *.txt-files unter WIN/gecko,msie,opera7x bestimmen !!
/*
so wie es aussieht, bilden alle oben genannten browser
die inhalte von files mit dem mime "text/plain" innerhalb
eines eigenen html-containers als <pre>-formatierten text ab;
auf inhalte von textfiles kann in diesen browsern demzufolge
ueber [frame/window-object].document.documentElement.innerHTML
zugegriffen werden - der browsereigene html-code muss dann
nur noch mit entsprechenden string.methoden entfernt werden;
*/
windowFileText = windowFileText.substring(windowFileText.toLowerCase().indexOf("<body><pre>")+11);
windowFileText = windowFileText.substring(0,(windowFileText.toLowerCase().lastIndexOf("</pre></body>")));
alert(windowFileText);
if (!textFileWindow.closed) {
textFileWindow.focus();
}
}
}
}
function startApplication() {
opentextFileWindow(textFileString);
setTimeout("getWindowContent()",3500);
}
//-->
</script>
<style type="text/css">
<!--
body {
margin-left:0px;
margin-top:0px;
margin-right:0px;
margin-bottom:0px;
background-color:#efefef;
background-image:none;
font-family:verdana,geneva,helvetica,arial,sans-serif;
font-weight:normal;
color:#000000;
font-size:12px;
line-height:14px;
}
//-->
</style>
</head>
<body onload="startApplication()" bgcolor="#efefef" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
</body>
</html>
viel erfolg - by(t)e by(t)e - peterS. - pseliger@gmx.net