Xshell 前端编辑器

xtermjs 是前端类型于 Xshell 编辑器

一、插件下载

xtermjs 官网地址:https://github.com/xtermjs/xterm.js

二、使用

在 HTML 页面中引入 xterm.js 插件即可:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/xterm.css" />
        <script src="js/jquery-2.0.3.min.js"></script>
        <script src="js/xterm.js"></script>
        <script src="js/fit.js"></script>
    </head>

    <body>
        <!--容器-->
        <div id="console"></div>

        <script>
            // 提示信息(主机名称)
            var shellprompt = '[root@swarm_41 ~]# ';

            // 高度自适应
            $("#console").css("height", document.documentElement.clientHeight);
            // 创建对象
            var terminalContainer = document.getElementById('console');

            var term = new Terminal({
                cursorBlink: true, // 设置光标是否闪烁
                scrollback: parseInt(50), // 设置可以回查多少行
                tabStopWidth: 4 // 设置Tab键
            });

            // 加载
            term.open(terminalContainer);
            term.fit();
            term.write(shellprompt);

            // 设置起始下标位置
            term.prompt = function() {
                term.x = 0;
            };

            // 监听键盘
            term.on('key', function(data, ev) {
                var printable = (!ev.altKey && !ev.altGraphKey && !ev.ctrlKey && !ev.metaKey);
                if(ev.keyCode == 27) { // ESC,需要向服务器发送数字(27) 
                } else if(ev.keyCode == 9) { // TAB,需要向服务器发送字符串("\t")
                } else if(ev.keyCode == 8) { // 回退
                    if(term.x > 19) {
                        term.write('\b \b');
                    }
                } else if(ev.keyCode == 67) { // CTRL + C,需要向服务器发送数字(3)
                } else if(ev.keyCode == 90) { // CTRL + Z,需要向服务器发送数字(26)
                } else if(ev.keyCode == 86) { // CTRL + V,需要向服务器发送数字(22)
                } else if(ev.keyCode == 13) { // 回车
                    term.prompt();
                } else if(printable) {
                    term.write(data);
                }
            });

            // 换行
            term.prompt = function() {
                term.write('\r\n' + shellprompt);
            };

        </script>
    </body>

</html>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值