在 Javascript 中打印多个 html 文件的输出
Printing output of multiple html files in Javascript
我正在尝试以html格式打印文本多个文件。我成功地打印了单个文件。但是我无法打印多个文件的文本输出。你能帮我纠正代码吗?
<!DOCTYPE html>
<html>
<body>
<h1> Testing programs </h1>
<input type="file" id="fileinput" multiple />
<pre id="file-content"></pre>
<h3>Contents of the file:</h3>
<script type="text/javascript">
function readMultipleFiles(evt) {
//Retrieve all the files from the FileList object
var files = evt.target.files;
if (!files) {
for (var i=0, f; f=files[i]; i++) {
var r = new FileReader();
r.onload = (function(f) {
return function(e) {
var contents = e.target.result;
displayContents(contents);
};
});
r.readAsText(f);
}
} else {
alert("Failed to load files");
}
function displayContents(contents) {
var element = document.getElementById('file-content');
element.innerHTML = contents;
}
document.getElementById('fileinput').addEventListener('change', readMultipleFiles, false)
</script>
</body>
</html>`
无需在提供的代码段中使用closure
。正如古尔文德所建议的,使用innerHTML +=
if
条件应该像if (files)
一样,因为如果文件长度大于 0
试试这个:
function readMultipleFiles(evt) {
var files = evt.target.files;
if (files) {
for (var i = 0; i < files.length; i++) {
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
displayContents(contents);
};
r.readAsText(files[i]);
}
} else {
alert("Failed to load files");
}
}
function displayContents(contents) {
var element = document.getElementById('file-content');
element.innerHTML += contents;
}
document.getElementById('fileinput').addEventListener('change', readMultipleFiles, false);
<h1> Testing programs </h1>
<input type="file" id="fileinput" multiple />
<pre id="file-content"></pre>
<h3>Contents of the file:</h3>
另请参阅此小提琴:https://jsfiddle.net/rayon_1990/2cwr4c00/
只需将displayContents
方法替换为
function displayContents(contents) {
var element = document.getElementById('file-content');
element.innerHTML += contents; //observe + before =
}
因为它需要附加文件而不是替换最后一个文件
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- html文件中的script标记根本不起作用
- 从单独的html文件预览Javascript文本
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- Android在webview中加载带有javascript的html文件,得到Uncaught ReferenceEr
- 什么更好?使用iframe或jQuery之类的东西在外部网站中加载HTML文件
- 当我在浏览器中打开HTML文件时,javascript不起作用
- 如何在另一个html文件的框架中包含图像
- 压缩静态HTML文件中的JS和CSS
- 从HTML文件中的TypeScript(.ts)获取值
- 以HTML文件中的编码形式脱机存储图像
- ionic幻灯片框中的每张幻灯片都有不同的HTML文件
- 加载具有特定CSS的HTML文件
- 使用Gulp手柄部分编译为单个HTML文件
- 使用javascript检查服务器上是否存在html文件
- 在本地启动HTML文件
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件