Xtermjs 获取文本

Wil*_*ill 4 xtermjs

使用xterm.js,如何获取控制台中的文本(用term.write(...)或者其他方法输入的文本)。

获取 HTML 的 textContent 不起作用,因为 html 处理空白的方式不同,而且 xtermjs 处理颜色的方式也不同。

Par*_*ris 5

您指的是终端缓冲区的内容。

截至目前(xterm.js 3.2),还没有公共 API 来检索缓冲区的内容,因此您必须解决这个问题。

尝试通过 DOM 检索内容是行不通的。为了提高性能,Xterm.js 从 3.0 版本开始使用 canvas 元素,而不是 DOM div 元素和文本节点。

使用公共 API 执行此操作的最佳方法是监听事件data使用该事件。data当一块数据被分派到终端进行处理时,会发出该事件。