Wie kann ich diesen Code verbessern, um Unempfindlichkeit / Seitenverzögerung zu beseitigen, nachdem ich eine Datei aus dem Dateidialog ausgewählt und auf OK geklickt habe?
Ich habe Dateien mit Größen zwischen 50 und 100 KB getestet
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
Ich führe diese Seite auf localhost aus und verwende SSD
Vielen Dank
javascript
html
Joelty
quelle
quelle
<input>
Tag wird nicht verwendet und benötigt keinen schließenden Schrägstrich und hat nie in HTML.When happens the lag, before the dialog appears?
nach dem KlickenOpen
imAntworten:
Ihr Code ist vollkommen in Ordnung. Versuchen Sie , die Leistung zu messen , um weitere Untersuchungen durchzuführen:
quelle
Verwenden Promises in Ihrer handleFileSelect Funktion oder make async Funktion davon.
quelle
Ihr Code funktioniert und es ist nichts falsch daran. Sie können die Leistung nur verbessern, indem Sie ihn zuerst messen und dann geeignete Maßnahmen ergreifen.
Zum Beispiel können Sie den Code zu einem saubereren Ansatz umgestalten -
quelle