@Rektalizer

Почему возникает ошибка Cannot set property 'innerHTML' of null?

Решаю задание для университета по распознаванию текста с картинок. В своём коде использую Tesseract.js в качестве основного инструмента и Browserify для того, чтобы запускать в браузере с локалки.

Код ошибки:
MainScript.js:15 Uncaught TypeError: Cannot set property 'innerHTML' of null
at updateProgress (MainScript.js:15)
at createWorker.js:176
at Worker.worker.onmessage (onMessage.js:3)

Код скрипта:
var Tesseract = require('tesseract.js')

// Распознавание изображения
function recognize(file, lang, logger) {
return Tesseract.recognize(file, lang, {logger})
.then(({ data: {text }}) => {
return text;
})
}

const log = document.getElementById('log');

// Отслеживание прогресса обработки
function updateProgress(data) {
log.innerHTML = '';
const statusText = document.createTextNode(data.status);
const progress = document.createElement('progress');
progress.max = 1;
progress.value = data.progress;
log.appendChild(statusText);
log.appendChild(progress);
}

// Вывод результата
function setResult(text) {
log.innerHTML = '';
text = text.replace(/\n\s*\n/g, '\n');
const pre = document.createElement('pre');
pre.innerHTML = text;
log.appendChild(pre);
}

document.getElementById('start').addEventListener('click', () => {
const file = document.getElementById('file').files[0];
if (!file) return;

const lang = document.getElementById('langs').value;

recognize(file, lang, updateProgress)
.then(setResult);
});
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы