Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:将文本附加到textarea性能_Javascript_Performance_Textarea - Fatal编程技术网

javascript:将文本附加到textarea性能

javascript:将文本附加到textarea性能,javascript,performance,textarea,Javascript,Performance,Textarea,我目前正在实现一个从浏览器远程运行构建过程的系统。任务之一是显示生成控制台输出,部分由ajax下载。在这里,我遇到了一个问题:我正试图将这个日志输出到textarea控件,而这个日志非常重(可能达到12Mb或更多,具体取决于正在构建的目标数量)。我关心的是textarea是否与我的需求兼容。我开始怀疑这不是显示如此大量信息的最佳方式,因为我一直在尝试将数据附加到textarea的不同方法: <textarea id='log'></textarea> //using j

我目前正在实现一个从浏览器远程运行构建过程的系统。任务之一是显示生成控制台输出,部分由ajax下载。在这里,我遇到了一个问题:我正试图将这个日志输出到textarea控件,而这个日志非常重(可能达到12Mb或更多,具体取决于正在构建的目标数量)。我关心的是textarea是否与我的需求兼容。我开始怀疑这不是显示如此大量信息的最佳方式,因为我一直在尝试将数据附加到textarea的不同方法:

<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)