UNPKG

oimp

Version:

A CLI tool for generating OI problem and packages

28 lines 1.15 kB
// 终端初始化 document.addEventListener('DOMContentLoaded', function () { setTimeout(function () { if (window.Terminal && window.FitAddon) { let term = new Terminal({ fontSize: 14,theme:{background:"#1e1e1e"} }); let fitAddon = new window.FitAddon.FitAddon(); term.loadAddon(fitAddon); term.open(document.getElementById('terminal')); fitAddon.fit(); const ws = new WebSocket(`ws://${location.host}/api/terminal`); ws.onmessage = e => { term.write(e.data); // 移除自动滚动留两行逻辑 }; term.onData(data => ws.send(data)); window.term = term; window.fitAddon = fitAddon; window.terminalWs = ws; window.addEventListener('resize', function () { if (fitAddon) fitAddon.fit(); }); // 给终端容器加底部 padding document.getElementById('terminal').style.paddingBottom = '32px'; } else { console.error('xterm.js or FitAddon not loaded'); } }, 0); });