在浏览器中实例化了多个 xterm.js 终端,每个终端在创建时都在一个可见的 div 中(大小和工作都正确),我们向每个远程 shell(例如历史记录)发送一个命令,并将响应正确地发送到每个终端. 返回时只有一个终端可见。对于可见终端,完全回滚有效(假设响应>可见行数)。对于不可见的终端,响应在第一条可见行被裁剪(因此不能回滚)。
尝试了不同的终端可见(第一个,中间,最后一个),并且只有可见终端支持回滚,所有其他终端都在顶部可见行处裁剪。如果其他终端之一可见,并且命令重新运行(例如历史记录),则回滚工作正常(尽管从未超过它之前显示的第一条可见行)。如果该命令没有返回行数 > 最大可见行数,则不需要回滚(因此没有问题)。
有什么办法可以克服这个吗?由于信息可能是并行的,因此不可能集中每个终端。