javascript:将文本附加到textarea性能
我目前正在实现一个从浏览器远程运行构建过程的系统。任务之一是显示生成控制台输出,部分由ajax下载。在这里,我遇到了一个问题:我正试图将这个日志输出到textarea控件,而这个日志非常重(可能达到12Mb或更多,具体取决于正在构建的目标数量)。我关心的是textarea是否与我的需求兼容。我开始怀疑这不是显示如此大量信息的最佳方式,因为我一直在尝试将数据附加到textarea的不同方法:javascript:将文本附加到textarea性能,javascript,performance,textarea,Javascript,Performance,Textarea,我目前正在实现一个从浏览器远程运行构建过程的系统。任务之一是显示生成控制台输出,部分由ajax下载。在这里,我遇到了一个问题:我正试图将这个日志输出到textarea控件,而这个日志非常重(可能达到12Mb或更多,具体取决于正在构建的目标数量)。我关心的是textarea是否与我的需求兼容。我开始怀疑这不是显示如此大量信息的最佳方式,因为我一直在尝试将数据附加到textarea的不同方法: <textarea id='log'></textarea> //using j
<textarea id='log'></textarea>
//using jQuery
$("#log").append(data["log"]); <- data["log"] is ajax result
//or classic JS
document.getElementById("log").value += data["log"]
//使用jQuery
$(“#日志”).append(数据[“日志]);
哎,
基本上-不要使用textarea,并尽量减少dom操作量。
你能做什么?
1使用documentFragment API构建部分DOM
2缓存从ajax传递的数据,并每隔第N项将其放到页面上
3使用异步调用呈现内容,而不是立即呈现
setTimeout(function(){
//some render here
}, 0)
我附上了一个示例(jsfiddle)
希望我能正确地理解您,通过这种方法(列表而不是文本区域,您有更多的自定义选项)。谢谢您的回答,我想到了这一点。阻止我使用textarea以外的东西的唯一原因是出现在右下角的开箱即用的调整大小控件)您的示例非常出色。如果我找不到更好的解决办法,我就只剩下这个了
setTimeout(function(){
//some render here
}, 0)