技术解析

xtermjs 无法输入的情况
0
2021-08-20 13:42:54
idczone

小弟想做一个堡垒机
前端用 vue + elementui + xtermjs
但是在初始化之后无法输入
有大佬遇到过这种情况吗
xtermjs 用的是最新的 4.3.0 版本
官方文档 example 写的很少
网上大部分的都是 3.x 版本的
api 改了挺多的 大部分都不能用
Stack Overflow 上有回答说要对键盘做输入监听的
但我看大部分都没有这一步
是我哪里写错了还是写漏了
跪求各位大佬解答

代码截图 ↓


555 ~

这玩意要自己做输入的
https://github.com/knva/xtermtest

意思是要自己做键盘监听吗?
我怎么看网上那些都没有这一步的?

网上跟终端连接的一般用 onData
https://xtermjs.org/docs/api/terminal/classes/terminal/#ondata

具体可看 webssh2 的例子
https://github.com/billchurch/webssh2/blob/master/app/client/src/js/index.js

onData 是可以获取到键盘输入的数据的
只是 html 上显示不出来
我看他这个也没有做输入监听
真是奇怪


54 行->63 行结合起来看就知道了


54 行 是数据发送给后端
58 行 是后端数据回显到前端控制台
其实我就是不太明白为什么有些人不做键盘监听可以输入在 html 显示出来
而我的却不行
可能还是我哪里写错了 我再看一下
谢谢回复啊


因为是有后台程序返回
所以 websocket 给后端发了 emit 数据
后端相应返回对应的数据,所以不用做 key 监听 也能显示。

我去你这跟我钉钉头像一样,吓我一跳
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服