求助:mozart0的JS仿DOS网页怎样才能输入中文?
时间:2010-05-29
来源:互联网
mozart0的仿DOS原贴地址是:http://bbs.blueidea.com/thread-1629810-1-1.html
我研究很久,发现mozart0是接收键盘按键。硬是研究不出怎样直接输入中文,希望有高手能解决下,当然,也希望mozart0本人来看到,我PM你与PM该版版主都未曾理个我,哎。
我研究很久,发现mozart0是接收键盘按键。硬是研究不出怎样直接输入中文,希望有高手能解决下,当然,也希望mozart0本人来看到,我PM你与PM该版版主都未曾理个我,哎。
<script language="javascript"> var blk=null; var currentA=null; var keydic=new Array(); var keydic_shf=new Array(); var preheader="C:\\WINDOWS>"; var strheader=preheader; var booconf=null; var confmode=false; function init() { var sinfo="Tips:\"cls\" to cls,\"exit\" to exit<br><br>IE-Based DOS<br>  (C)Copyright Mozart0 2004-4002.<br><br>C:\\WINDOWS><a id='a0'></a>" aship.innerHTML=sinfo; currentA=document.getElementById("a0"); if(!blk) { blk=setInterval("mycursor.style.visibility=(mycursor.style.visibility=='hidden')?'visible':'hidden';",500); definekeys(); } } function newline(header,ibr) { var br=""; if(ibr==undefined) br="<br><br>"; else for(var i=0;i<ibr;i++) br+="<br>"; currentA.innerHTML+=br; currentA=document.createElement("<a>"); aship.appendChild(currentA); if(header!=undefined) { currentA.innerHTML=header; currentA=document.createElement("<a>"); aship.appendChild(currentA); strheader=header; } var offset=currentA.offsetTop-document.body.clientHeight+16; if(offset) window.scrollTo(0,offset+32); } function conf(action) { newline("Are you sure to "+action+" ? [y/n] ",1); confmode=true; checkconf(action); } function checkconf(act) { if(booconf==null) setTimeout("checkconf('"+act+"')",100); else proc(act,booconf); } function keycheck() { var key=event.keyCode; var line=currentA.innerHTML; if(!confmode) { if(key==13) { proc(line); return false; } else if(key==8||key==37) { var r=/&\w+;$/; if(line.match(r)!=null) line=line.replace(r,""); else line=line.slice(0,line.length-1); } else if(keydic[key]!=undefined) { if(event.shiftKey) line+=keydic_shf[key]; else line+=keydic[key]; } currentA.innerHTML=line; } else { if(line=="") { if(key==89) { currentA.innerHTML="Y"; booconf=true; } else if(key==78) { currentA.innerHTML="N"; booconf=false; } } } return false; } function definekeys() { var s1="0 1 2 3 4 5 6 7 8 9 * +".split(" "); var s2="- . /".split(" "); var s3="; = , - . / `".split(" "); var s4=") ! @ # $ % ^ & * (".split(" "); var s5=": + \< _ > ? ~".split(" "); var s6="[ \\ ] '".split(" "); var s7="{ | } \"".split(" "); for(var i=48;i<=57;i++) { keydic[i]=String.fromCharCode(i); keydic_shf[i]=s4[i-48]; } for(var i=65;i<=90;i++) { keydic[i]=String.fromCharCode(i+32); keydic_shf[i]=String.fromCharCode(i); } for(var i=96;i<=107;i++) keydic[i]=s1[i-96]; for(var i=109;i<=111;i++) { keydic[i]=s2[i-109]; keydic_shf[i]=keydic[i]; } for(var i=186;i<=192;i++) { keydic[i]=s3[i-186]; keydic_shf[i]=s5[i-186]; } for(var i=219;i<=222;i++) { keydic[i]=s6[i-219]; keydic_shf[i]=s7[i-219]; } keydic[32]=" "; keydic_shf[32]=" "; keydic_shf[55]="&"; keydic_shf[188]="<"; } //以下函数定义“命令”。本来应该用一个对象管理所命令,这里只管决定调用哪个,但总共只有两个命令,懒得弄了。 function proc(cmd,strconf) { if(cmd=="cls") init(); else if(cmd=="exit") { if(strconf==undefined) conf(cmd); else if(strconf) { window.opener=null; window.close(); } else { newline(preheader); strheader=preheader; booconf=null; confmode=false; } } else { currentA.innerHTML+="<br>Your Command is:["+cmd+"].<br> But it is a bad command or filename."; newline(strheader); } } </script> <style> body { overflow:hidden; word-break:break-all; margin:0; color:#c0c0c0; background-color:#000000; font-family:Terminal; font-size:16px; cursor:default; } #mycursor { width:8px; height:4px; border:2 solid #d0d0d0; } </style> <body onload="init();" onkeydown="return keycheck()" onselectstart="return false;"> <span id="aship" ></span><input id=mycursor></input><br><br><br> </body>
提示:您可以先修改部分代码再运行
[ 本帖最后由 exitdos 于 2010-5-29 11:58 编辑 ] 提示:您可以先修改部分代码再运行
作者: exitdos 发布时间: 2010-05-29
天啊,我知道你们会,但你们就硬是没有一个人回复,算了服了你们。

作者: exitdos 发布时间: 2010-05-31
真正dos下用中文还是输入法。你可以考虑下搜狗云输入法。
作者: majer 发布时间: 2010-05-31

作者: exitdos 发布时间: 2010-06-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28