不确定如何标题这个问题,但基本上我将服务器进程的输出流式传输到Web浏览器并将其放在一个名为result in html
的变量中<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
namespace = '/socket';
var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port + namespace);
socket.on('my_response', function(msg) {
document.getElementById('result').innerHTML += msg.data;
});
</script>
<div id="result"></div>
我遇到的挑战最终是如果进程运行的时间足够长,浏览器会崩溃,假设该变量太大。我想保留250行,并在删除超过250行的任何内容时不断更新。
有办法做到这一点吗?
谢谢!
答案 0 :(得分:1)
您可以将文本拆分为单独的行,删除超出限制的所有行,然后再次设置文本。它看起来像这样:
socket.on('my_response', function(msg) {
var lineBreak = '<br>'; // or whatever you're using to delineate lines
var currentText = document.getElementById('result').innerHTML + msg.data;
var lines = currentText.split(lineBreak); // split your text into lines
lines = lines.slice(-250); // only keep the most recent lines
document.getElementById('result').innerHTML = lines.join(lineBreak);
});