javascript - 如何在根目录中获取外部文本文件并使用 javascript 将其附加到 p 元素?
问题描述
我正在开发一个需要检索 .txt 文件中的数据并将其数据附加到 ap 元素的项目。
这是我的 HTML:
<p id="displayName"></p>
这是我的 JavaScript:
if (window.File && window.FileReader && window.FileList) {
/*Great success! All the File APIs are supported.*/
} else {
alert('error: The File APIs are not fully supported in this browser.');
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
console.log('Error: ' + msg);
}
function onInitFs(fs) {
fs.root.getFile('untitled.txt', {}, function(fileEntry) {
// Get a File object representing the file,
// then use FileReader to read its contents.
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
var txtArea = document.createElement('textarea');
txtArea.value = this.result;
document.getElementById("displayName").appendChild(txtArea);
};
reader.readAsText(file);
}, errorHandler);
}, errorHandler);
}
window.requestFileSystem(window.TEMPORARY, 1024 * 1024, onInitFs,
errorHandler);
上面的行会引发错误。我应该如何解决这个问题?
帮助将不胜感激!谢谢!
解决方案
根据MDN, 中没有onloadend
属性FileReader
,只有onload
属性。它有一个loadend
事件,但它不能作为属性使用,因此您需要使用addEventListener
.
reader.addEventListener("loadend", function(e) {
var txtArea = document.createElement('textarea');
txtArea.value = this.result;
document.getElementById("displayName").appendChild(txtArea);
};
推荐阅读
- c++ - c++ how can I write single-process named_mutex?
- c# - 在返回之前等待 Async 函数
- puppet - 创建证书并在 puppetserver 上签名,然后交付给客户端
- javascript - 如何在移动设备上通过 WebAuthn 使用 FIDO 凭据
- c# - 一个用于更新两个 UI 文本的脚本
- java - spring boot 按字段搜索规范查找
- swift - ReactiveSwift 链接的 SignalProducers 不会将完成发送到下游
- c# - 使用 c# 将大型 SQL Server 结果导出到 excel(行数 = 100 万)
- python - 如何正确解析 html 并找到正确的元素
- azure - 使用 ARM 创建的 Azure DevOps SSH Linux VM