代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HYBLOG</title>
<script src="./js/jquery.min.js"></script>
<style>
html {
--theme-fg-color: #000;
--theme-bg-color: #fff;
background-color: var(--theme-bg-color);
user-select: none;
}
@font-face {
font-family: 'unifont';
src: url('./unifont-15.0.01.woff');
}
body{
margin: 0;
font-family: 'unifont';
color: var(--theme-fg-color);
}
.prompt {
/* display: flex;
flex-wrap: wrap; */
}
.input {
display: flex;
flex-wrap: wrap;
}
.cursor {
background-color: var(--theme-fg-color);
color: var(--theme-bg-color);
}
.newline {
flex-grow: 1;
}
.output {
display: flex;
word-break: break-all;
}
</style>
</head>
<body>
<div id="main">
<div class="prompt">
<div class="input">
<div class="tag">HYBLOG></div>
<div class="char cursor"> </div>
</div>
</div>
</div>
<script>
$(document).on('keydown', e => {
// console.log(e.keyCode)
if (e.ctrlKey || e.metaKey) return
if (!$('#main').children().last().hasClass('prompt')) {
console.log('watting')
return
}
if (e.keyCode == 8) {
// backspace
const prev = $('.prompt:last-child .input .cursor').prev()
if (!prev.hasClass('tag')) {
prev.remove()
}
}
if (e.keyCode == 9) {
// tab
e.preventDefault()
}
if (e.keyCode == 35) {
// end
$('.prompt:last .input .cursor').removeClass('cursor')
$('.prompt:last .input .char:last').addClass('cursor')
}
if (e.keyCode == 36) {
// home
$('.prompt:last .input .cursor').removeClass('cursor')
$('.prompt:last .input .char:first').addClass('cursor')
}
if (e.keyCode == 37) {
// left
const current = $('.prompt:last .input .cursor')
if (current.prev().length > 0 && !current.prev().hasClass('tag')) {
current.prev().addClass('cursor')
current.removeClass('cursor')
}
}
if (e.keyCode == 39) {
// right
const current = $('.prompt:last .input .cursor')
if (current.next().length > 0) {
current.next().addClass('cursor')
current.removeClass('cursor')
}
}
if (e.keyCode == 13) {
// enter
let str = ''
$('.prompt:last .input').children('.char').each((i,item) => {
str += $(item).html()
})
str = str.replaceAll(' ', ' ').trim()
console.log(str)
$('.prompt:last .input .char').removeClass('cursor')
execCmd(str)
}
let inputChar
if (e.keyCode >= 48 && e.keyCode <= 57) {
// 86key 0-9
if (!e.shiftKey) {
inputChar = String.fromCharCode(e.keyCode)
}else{
inputChar = ['!','@','#','$','%','^','&','*','(',')'][e.keyCode - 49]
}
}else if (e.keyCode >= 65 && e.keyCode <= 90) {
// a-z
inputChar = String.fromCharCode(e.keyCode)
}else if (e.keyCode >= 96 && e.keyCode <= 105) {
// numpad 0-9
inputChar = (e.keyCode - 96).toString()
}else if (e.keyCode == 32) {
// space
inputChar = ' '
}else{
// symbols
let keymap = {}
if (!e.shiftKey) {
keymap = {
106: '*',
107: '+',
110: '.',
111: '/',
186: ';',
187: '=',
188: ',',
189: '-',
190: '.',
191: '/',
192: '`',
219: '[',
220: '\\',
221: ']',
222: '\'',
}
}else{
keymap = {
106: '*',
107: '+',
110: '.',
111: '/',
186: ':',
187: '+',
188: '<',
189: '_',
190: '>',
191: '?',
192: '~',
219: '{',
220: '|',
221: '}',
222: '"',
}
}
if (keymap[e.keyCode]) inputChar = keymap[e.keyCode]
}
if (inputChar) {
$('.prompt:last-child .input .cursor').before(`<div class="char">${inputChar}</div>`)
}
})
function newPrompt() {
$('#main').append(`
<div class="prompt">
<div class="input">
<div class="tag">HYBLOG></div>
<div class="char cursor"> </div>
</div>
</div>
`)
}
function execCmd(cmd) {
if (!cmd) {
newPrompt()
return
}
let output = $('<div class="output"><div class="char cursor"> </div></div>')
$('#main').append(output)
// document.documentElement.style.setProperty('--theme-fg-color', color)
output.html(cmd+': COMMAND NOT FOUND')
newPrompt()
}
function loadcontent(content) {
console.log('loadcontent', content)
}
function testAjax() {
$.ajax({
url: './content/test1.js',
dataType: 'jsonp',
jsonpCallback: 'loadcontent'
})
}
testAjax()
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。