2016-04-21 9 views
0

Ich habe einen Datei-Reader, der auf Jfiddle funktioniert, aber nicht in jedem Browser funktioniert. Ich benutze die neuesten Browser ,. Es wird mir erlauben, die Datei auszuwählen, aber danach passiert nichts. Ich bin sehr neu in Javascript.Javascript FileReader funktioniert in Jfiddle, aber nicht in meinem Browser

Javacript

<script type="text/javascript"> 
function readFile(file) { 
    var reader = new FileReader(); 
    reader.onload = readSuccess; 

    function readSuccess(evt) { 
     var field = document.getElementById('main'); 
     field.innerHTML = evt.target.result; 
    }; 
    reader.readAsText(file); 
} 

document.getElementById('selectedFile').onchange = function(e) { 
    readFile(e.srcElement.files[0]); 
}; 
</script> 

html

<input type="file" id="selectedFile" /> 
<div id="main"></div> 

jfiddle

http://jsfiddle.net/fstreamz/ngXBV/1/ 
+0

Hallo! Könnten Sie einen Link zum jsFiddle bereitstellen, in dem dies funktioniert? jsFiddle verwendet die Engine Ihres Browsers, um Skript auszuführen (es gibt nichts Besonderes an seinem Ausführungsmodell), also muss es etwas geben, das jsFiddle tut, das Ihr Browser-Code nicht tut. – TheHansinator

+1

jsfiddle umschließt 'javascript' innerhalb des 'onload'-Ereignisses, das durch die Überprüfung der Quelle unter jsfiddle angezeigt werden kann. Verwenden Sie 'window.onload = function() {// tu stuff}', um Funktion nach Seitenressourcen aufzurufen; das sind DOM-Elemente. haben vollständig in 'Dokument' geladen – guest271314

Antwort

1

Verwenden window.onload oder window.addEventListener("load")

<script type="text/javascript"> 
 
    window.onload = function() { 
 
    function readFile(file) { 
 
    var reader = new FileReader(); 
 
    reader.onload = readSuccess; 
 

 
    function readSuccess(evt) { 
 
     var field = document.getElementById("main"); 
 
     field.innerHTML = evt.target.result; 
 
    }; 
 
    reader.readAsText(file); 
 
    } 
 

 
    document.getElementById("selectedFile").onchange = function(e) { 
 
    readFile(e.srcElement.files[0]); 
 
    }; 
 
} 
 
</script> 
 
Here is the html 
 

 
<input type="file" id="selectedFile" accept="text/plain" /> 
 
<div id="main"></div>

+0

Danke. Das funktioniert – icelated

Verwandte Themen