首页 > 解决方案 > 重新执行功能

问题描述

我从 google.A tesseractocr 找到了一些代码工作正常。但问题是当我输入 url 时,第一次运行良好但第二次运行不工作。重新加载页面后工作。我希望不手动重新加载页面。

演示图片:

演示图片

这里有一些 HTML:

<head>
    <script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
</head>
<body>
     <input type="text" id="url" placeholder="Image URL" />
     <input type="button" id="go_button" value="Run" />
     <!--<div id="ocr_results"> </div>-->
     <div id="ocr_status"> </div>
     <div>
        <label>Filed1
        <label>
           <textarea id="text"></textarea>
     </div>
</body>

这里是 JavaScript:

function runOCR(url) {
    Tesseract.recognize(url)
        .then(function(result) {
            document.getElementById("text").innerHTML = result.text;
    }).progress(function(result) {
        document.getElementById("ocr_status").innerText = result["status"] + " (" +
            (result["progress"] * 100) + "%)";
    });      
}

document.getElementById("go_button").addEventListener("click", function(e) {
    var url = document.getElementById("url").value;
    runOCR(url);
});

标签: javascriptjqueryajax

解决方案


作为textarea一个表单元素,使用value来分配新值而不是innerHTML. 请找到 js fiddle https://jsfiddle.net/h1mrL7ng/


推荐阅读