javascript - 重新执行功能
问题描述
我从 google.A tesseract
ocr 找到了一些代码工作正常。但问题是当我输入 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);
});
解决方案
作为textarea
一个表单元素,使用value
来分配新值而不是innerHTML
. 请找到 js fiddle https://jsfiddle.net/h1mrL7ng/
推荐阅读
- java - 向上转型不会导致类型擦除吗?
- python-3.x - ImportError:没有名为“kivy”的模块
- node.js - 导入时打字稿变量名称更改
- python - 遍历字典
- c++ - 如何在单击各种编号的按钮时更新 QLabel
- multithreading - Platform.runLater() 方法
- xml - 如何让文本节点的内部元素包含元素后的文本
- c# - 如何在 C# 中使用 Caliburn Micro 在单独的库命名空间中实现类的子类
- javascript - 是否可以在 Map() 中存储自定义对象?
- c# - 为什么在几秒钟后将角色用力向前推靠在门上时,它正在穿过门?