我正在使用FileReader API加载文本文件。在此过程中,我将内容放在<pre>
代码fileDisplayArea.innerText = reader.result;
中。后来我想在播放视频期间触发的duringPlayback函数中使用此内容。 video.ontimeupdate = function () { duringPlayback() };
我不想通过将其放在video.ontimeupdate函数中来反复提取已加载文件的内容,所以我想我只是加载了阅读器。将result(或fileDisplayArea.innerText)内容转换为全局变量,以后我可以对video.ontimeupdate函数中的内容执行所需的操作。但我似乎无法设置变量,以便可以在video.ontimeupdate函数中使用它。我是在严格模式下运行的,但是我已经评论过它并且它仍然无法正常工作。
如何在一个可以在video.ontimeupdate函数中使用的变量中设置reader.result内容?我很难过。 (如果可能的话,我想以严格的模式运行。)
提前致谢, 安德鲁
// Assign an ontimeupdate event to the video element, and execute a function if the current playback position has changed
video.ontimeupdate = function () { duringPlayback() };
function duringPlayback() {
document.getElementById("speed").innerHTML = (Math.round(video.playbackRate * 100) / 100).toFixed(2);
// I need to use the var hostFile (reader.result) contents here. ###########
}
// Load Tab Delimted File
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', function (e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function (e) {
// Entire file
fileDisplayArea.innerText = reader.result;
var hostFile = reader.result; //###########
}
reader.readAsText(file);
//doIt(); //Normally doIt would be called from another function
} else {
fileDisplayArea.innerText = "File not supported!"
}
});
答案 0 :(得分:0)
我以为我只是将reader.result(或fileDisplayArea.innerText)内容加载到全局变量中
所以就这样做吧。在一切之外声明你的变量:
var hostFile;
video.ontimeupdate = function () { duringPlayback() };
function duringPlayback() {
document.getElementById("speed").innerHTML = (Math.round(video.playbackRate * 100) / 100).toFixed(2);
// I need to use the var hostFile (reader.result) contents here.
console.log(hostFile);
}
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', function (e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function (e) {
// Entire file
fileDisplayArea.innerText = reader.result;
hostFile = reader.result; //###########
}
reader.readAsText(file);
//doIt(); //Normally doIt would be called from another function
} else {
fileDisplayArea.innerText = "File not supported!"
}
});