martin: Datei laden

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

  1. 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 :)

    1. Hallo Alex, vielen Dank für Deine Hilfe. Gruß martin

  2. 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