Como posso melhorar esse código para remover a falta de resposta / atraso na página depois de selecionar um arquivo da caixa de diálogo e clicar em OK?
Venho testando arquivos com tamanhos entre 50 e 100 KB
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>
Estou executando esta página no localhost e usando SSD
obrigado
javascript
html
Joelty
fonte
fonte
<input>
tag não usa e não precisa de uma barra e nunca tem em HTML.When happens the lag, before the dialog appears?
depois de clicarOpen
na caixa de diálogo do arquivo, depois desaparecerRespostas:
Seu código está perfeitamente correto. Tente medir o desempenho para investigar mais:
fonte
Use Promises em sua função handleFileSelect ou faça a função assíncrona dela.
fonte
Seu código funciona e não há nada errado com ele. Você só pode melhorar o desempenho medindo-o primeiro e depois tomando as ações apropriadas.
Por exemplo, você pode refatorar o código para uma abordagem mais limpa -
fonte