我在用盖特一号作为我的 VPS 上的 WebShell(通过该地方的代理通过 SSH 连接到它的唯一方法...),它使用 javascript 通过捕获击键来模拟 shell。
一切都运行良好,但密钥似乎Esc有些特殊:它经常被服务器错误理解。
主要是当我使用 VIM 并按下Esc退出编辑模式时,它会执行其他操作。有时它只是退格,有时它会删除该行,有时它会在光标位置插入当前行的一部分副本...
但是,再次单击 Firefox 窗口(当它已经获得焦点时)即可恢复预期的行为。
这里有两个问题:
- WebShell 甚至可以捕获 Firefox 的快捷方式,例如Ctrl+ T(新标签),那么为什么该Esc键如此特殊?
- 有没有办法可以解决这个问题?通过纠正这个捕获问题,或者,因为这只是 VIM 的问题,除了Esc退出编辑模式之外,还有其他方法吗?
我一直使用 Firefox,IE 和 Chrome 似乎不能正确处理 WebSockets 以使我的 webshell 能够通过代理服务器工作(所以我无法用Esc它们进行测试)。
即使我的问题没有解决方案,我对这种行为的解释也很感兴趣。