Javascript FileReader Как я могу получить доступ к reader.onload? - PullRequest
0 голосов
/ 17 октября 2018

В настоящее время я изучаю Javascript.Я работаю над программой с FileReader.

Как мне получить доступ к переменной file для переменной perf?

Мой код:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style/style.css">
<title>FileReader</title>
</head>
<body>
<h1>FileReader</h1>
<input type='file' accept='text/plain' onchange='openFile(event)'><br>
Input: <input type="text" id="qi" value="">
<br></br>
<button onclick="check()" class="button buttonB">Check</button>
<p id="ans"></p>
<p id=".same"></p>
<script src="main.js"></script>
</body>
</html>



function check(){
  var text = document.getElementById("qi").value;
  console.log(`Text: ${text}`);

  var perf;       //The value should be `file`

  if (text === perf){
      console.log("Same");
      document.getElementById(".same").innerHTML = "Same";
  } else{
      console.log("Not Same!!!")
      document.getElementById(".same").innerHTML = "Not Same!!!";
  }
}

function openFile(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var file = reader.result;
console.log(file);
document.getElementById("ans").innerHTML = file;
};
reader.readAsText(input.files[0]);
};

1 Ответ

0 голосов
/ 18 октября 2018

Метод 1. Сравнение внутреннего HTML, которое вы сохранили.

var perf = document.getElementById("ans").innerHTML;

Метод 2. Сохранение переменной в глобальной области действия

Просто сохраните переменную file в глобальной области действия:

Заменить

var file = reader.result;

На

window.file = reader.result;

И

if (text === perf){

На

if (text === window.file){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...