我已经研究了好几个小时了,浏览了网络上的不同选项,试图理解——而不仅仅是复制——如何加载文本文件。我无法使用我找到的任何示例,也就是说,直到我从铬更改为 Firefox。例如,stackoverflow 问题中的代码:HTML5 File api, reading in an xml/text file and display it on the page? 为了简单起见,我在这里写:
<!DOCTYPE html>
<html>
<head>
<title>reading xml</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList
for (var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Print the contents of the file
var span = document.createElement('span');
span.innerHTML = ['<p>',e.target.result,'</p>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the file
reader.readAsText(f);
// reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</body>
在 Firefox 上效果很好。我无法让它在铬中工作。我错过了什么?!谢谢。
我正在使用 Chromium 18.0.1025.168(开发人员构建 134367 Linux)Ubuntu 11.10