2017-06-27 3 views
0

Zur Zeit verwende ich diesen Code, um Inhalt eines csv in einem Webbrowser mit Javascript anzuzeigen. Aber das funktioniert nur in Firefox, da andere Browser nicht erlauben, Inhalte von einem iframe zu holen. Ich muss mein csv zu einem txt umwandeln, wenn ich diese Methode verwenden möchte und csv anstelle von txt behalten möchte.Lesen Sie die CSV-Datei mit Javascript

Weiß jemand von euch, wie ich das ohne den Iframe-Teil und den Txt-Teil machen kann, damit ich es in einem anderen Browser benutzen kann? Vielen Dank!

<iframe id="frmFile" src="content/assets/output.txt" onload="LoadFile();" style="display: none;"></iframe> 

<script>function LoadFile() { 
var oFrame = document.getElementById("frmFile"); 
var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML; 

while (strRawContents.indexOf("\r") >= 0) 
strRawContents = strRawContents.replace("\r", ""); 
var arrLines = strRawContents.split("\n"); 
var alltext = ""; 

if(arrLines[12].split(";")[8] == "0"){ } 
for (var i = 1; i < arrLines.length; i++) 
{ 
    alltext += "<tr>"; 
    var prop = arrLines[i].split(";"); 
    for (var j = 0; j < 11; j++) { 
     alltext += "<td>" + prop[j] + "</td>"; 
    } 
    alltext += "</tr>"; 
    document.close(); 
} 
document.getElementById("message").innerHTML = alltext; 
} 
</script> 

Antwort

1

Ich würde vorschlagen, Ajax der Datei erhalten -> auf diese Weise Sie den Textinhalt bekommen.

<!-- no iframe --> 

<script> 
var url = "http://www.example.com/file.txt"; 
var txtFile = new XMLHttpRequest(); 
txtFile.open("GET",url,true); 
txtFile.send(); 

txtFile.onreadystatechange = function(){ 
    if (txtFile.readyState== 4 && txtFile.status ==    
     var strRawContents = jsonFile.responseText; 
    } 
} 
</script> 
+0

Wie dies ?: https://pastebin.com/raw/0xpCmgRE Das gibt diesen Fehler: Uncaught Reference: Loadfile nicht bei HTMLIFrameElement.onload – Jeroen

+0

die Antwort Herausgegeben definiert ist. Es ist vollständig ohne iframe und response Text ist der Text der Datei (jetzt so benannt wie Sie). – WuDo

+0

Mit Ihrem Code heißt es: Uncaught SyntaxError: Unerwartet Token var Mit diesem (https://pastebin.com/raw/Zw2q8JtZ) Code bekomme ich: MLHttpRequest kann nicht laden file: /// C:/Benutzer/Jay/test/etc/ausgabe.txt. Cross-Ursprungsanforderungen werden nur für Protokollschemata unterstützt: http, data, chrome, chrome-extension, https. – Jeroen