Как я могу улучшить этот код для того, чтобы убрать безответственность / отставание страницы после выбора файла в диалоговом окне и нажатия кнопки «ОК»?
Я тестировал файлы размером около 50-100 КБ
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>
Я запускаю эту страницу на локальном хосте и использую SSD
Спасибо
javascript
html
Joelty
источник
источник
<input>
тег не использует и не требует закрывающей косой черты и никогда не используется в HTML.When happens the lag, before the dialog appears?
после нажатияOpen
в диалоговом окне файла, поэтому после его исчезновенияОтветы:
Ваш код в порядке. Попробуйте измерить производительность для дальнейшего изучения:
источник
Используйте Promises в своей функции handleFileSelect или сделайте из нее асинхронную функцию.
источник
Ваш код работает, и в этом нет ничего плохого. Вы можете только улучшить производительность, сначала измеряя ее, а затем предпринимая соответствующие действия.
Например, вы можете изменить код для более чистого подхода -
источник