您好,欢迎来到vc汽车资讯网。
搜索
您的当前位置:首页疯掉了,尽然有js写的操作系统_javascript技巧

疯掉了,尽然有js写的操作系统_javascript技巧

来源:vc汽车资讯网
 http://www.masswerk.at/jsuix/

// JS/UIX v0.44
// (c) mass:werk (N.Landsteiner) 2003
// all rights reserved

// term gui

var conf_term_x=102;
var conf_term_y=34;
var conf_kbd_offset=34;
var termImgPath='jsuix_support/';
var termDiv='termDiv';
var termBgColor='#181818';
var termFrameColor='#555555';
var termPageColor='#222222';
var conf_repeat_delay1=320;
var conf_repeat_delay2=170;

var termKbdDiv='termKbdDiv';
var termKbdBgColor='#222222';
var keycapspath='jsuix_support/keycaps/';

var termSubDivs=false;
var termLayers=false;
var termDocNS4=null;
var termStringStart='';
var termStringEnd='';

var termKbdDocNS4=null;
var termKbdOn=false;
var keycapsShift=false;
var keycapsCpslk=false;
var keycapsShiftRef=new Array();
var keycapsCpslkRef=new Array();

var termSpecials=new Array();
termSpecials[0]=' ';
termSpecials[1]='$';
termSpecials[2]=' ';
termSpecials[3]='?';
termSpecials[4]='#';
termSpecials[32]=' ';
termSpecials[34]='"';
termSpecials[38]='&';
termSpecials[60]='<';
termSpecials[62]='>';
termSpecials[127]='◊';

var termStyles=new Array(1,2,4,8);
var termStyleOpen=new Array();
var termStyleClose=new Array();
termStyleOpen[1]='';
termStyleClose[1]='<\/SPAN>';
termStyleOpen[2]='';
termStyleClose[2]='<\/U>';
termStyleOpen[4]='';
termStyleClose[4]='<\/I>';
termStyleOpen[8]='';
termStyleClose[8]='<\/STRIKE>';


// buttons UI

var termImgNames=new Array('left_lo', 'left_hi', 'right_lo', 'right_hi', 'delete_lo', 'delete_hi', 'esc_lo', 'esc_hi', 'kbd_show_lo', 'kbd_show_hi', 'kbd_hide_lo', 'kbd_hide_hi');
var termImages=new Array();

function termImgPreload(path,imgnames) {
for (var i=0; i<\/TD>\n';
s+=''+termMakeKbd()+'\n';
s+'<\/TD><\TR>\n';
s+='<\/TD><\/TR>\n';
s+='<\/TABLE>';
writeElement(termKbdDiv,s);
setDivXY(termKbdDiv,conf_term_x,conf_term_y+conf_kbd_offset+conf_rows*conf_rowheigt);
if (termLayers) termKbdDocNS4=document.layers[termKbdDiv].document;
termKbdOn=true;
setDivVisibility(termKbdDiv,1);
termSetKbdButton(0)
}
}

function termMakeKbd() {
var s='

\n';
for (var i=0; i s+='
';
for (var k=0; k var kc=termKeyMap[i][k];
keycapsShiftRef[kc]=termKeyMapShift[i][k];
keycapsCpslkRef[kc]=termKeyMapCpslk[i][k];
if (kc==13) {
s+='<\/A>';
continue
};
if (kc==32) s+=''
else if (kc==28) {
s+='';
s+='<\/A>';
continue
}
else if (kc==29) {
s+='<\/A>';
continue
}
else if (kc==8) {
s+='<\/A>';
continue
}
s+='<\/A>';
if (kc==35) s+='<\/A>';
};
s+='<\/TD><\/TR>\n';
};
s+='<\/TABLE>';
return s
}


// term UI

function termHide() {
if (repeatTimer) clearTimeout(repeatTimer);
if (termKbdOn) termKbdShow();
setDivVisibility(termDiv,0)
}

function makeTerm() {
window.status='Building terminal ...';
termLayers=(document.layers)? true:false;
termSubDivs=(navigator.userAgent.indexOf('Gecko')<0);
var s='';
s+='

\n';
s+='
\n';
var rstr='';
for (var c=0; c for (var r=0; r var id=((termLayers) || (termSubDivs))? '' : ' ID="term_'+r+'"';
s+='
\n
'+rstr+'<\/TD><\/TR>\n';
};
s+='<\/TABLE><\/TD><\/TR>\n';
s+='<\/TABLE><\/TD><\/TR>\n';

s+='

\n';
s+='
<\/A><\/TD><\/TR><\/TABLE><\/TD>\n';

s+='

\n';
s+='
<\/A><\/TD>\n';
s+='
<\/A><\/TD>\n';
s+='
<\/A><\/TD>\n';
s+='
<\/A><\/TD>\n';
s+='<\/TR><\/TABLE><\/TD><\/TR>\n';
s+='<\/TABLE>\n';
if (termLayers) {
for (var r=0; r s+='<\/LAYER>\n'
};
termDocNS4=document.layers[termDiv].document;
termStringStart='
';
termStringEnd='<\/TD><\/TR><\/TABLE>';
}
else if (termSubDivs) {
for (var r=0; r s+='<\/DIV>\n'
};
termStringStart='
';
termStringEnd='<\/TD><\/TR><\/TABLE>';
};
writeElement(termDiv,s);
setDivXY(termDiv,conf_term_x,conf_term_y);
setDivVisibility(termDiv,1);
window.status=''
}

function termDisplay(r) {
var s=termStringStart;
var curStyle=0;
for (var i=0; i var c=term[r][i];
var cs=termStyle[r][i];
if (cs!=curStyle) {
if (curStyle) {
for (var k=termStyles.length-1; k>=0; k--) {
var st=termStyles[k];
if (curStyle&st) s+=termStyleClose[st];
}
};
curStyle=cs;
for (var k=0; k var st=termStyles[k];
if (curStyle&st) s+=termStyleOpen[st];
}
};
s+= (termSpecials[c])? termSpecials[c] : String.fromCharCode(c);
};
if (curStyle>0) {
for (var k=termStyles.length-1; k>=0; k--) {
var st=termStyles[k];
if (curStyle&st) s+=termStyleClose[st];
}
};
s+=termStringEnd;
writeElement('term_'+r,s,termDocNS4)
}

function termGuiReady() {
ready=true;
if (termGuiElementReady(termDiv, self.document)) {
for (var r=0; r if (termGuiElementReady('term_'+r,termDocNS4)==false) {
ready=false;
break
}
}
}
else ready=false;
return ready
}


function cursorKbdLeft() {
keyHandler({which:28})
}

function cursorKbdRight() {
keyHandler({which:29})
}

function termKbdBackspace() {
keyHandler({which:8})
}

function termKbdEsc() {
keyHandler({which:27})
}

function termKbdClear() {
if ((!cnslLock) && (!cnslRawMode)) cnslReset();
}

// UI-button repeat

function repeatSet(cmd,on) {
if (repeatTimer) clearTimeout(repeatTimer);
repeatTimer=setTimeout('repeatDo("'+cmd+'")',conf_repeat_delay1);
}

function repeatClear() {
if (repeatTimer) clearTimeout(repeatTimer);
}

function repeatDo(cmd) {
if (repeatTimer) clearTimeout(repeatTimer);
if (cmd=='left') cursorKbdLeft()
else if (cmd=='right') cursorKbdRight()
else if (cmd=='backspace') termKbdBackspace();
repeatTimer=setTimeout('repeatDo("'+cmd+'")',conf_repeat_delay2);
}


// basic dynamics

function writeElement(e,t,d) {
if (document.layers) {
var doc=(d)? d : self.document;
doc.layers[e].document.open();
doc.layers[e].document.write(t);
doc.layers[e].document.close()
}
else if (document.getElementById) {
var obj=document.getElementById(e);
obj.innerHTML=t
}
else if (document.all) {
document.all[e].innerHTML=t
}
}

function setDivXY(d,x,y) {
if (document.layers) {
document.layers[d].moveTo(x,y)
}
else if (document.getElementById) {
var obj=document.getElementById(d);
obj.style.left=x+'px';
obj.style.top=y+'px'
}
else if (document.all) {
document.all[d].style.left=x+'px';
document.all[d].style.top=y+'px'
}
}

function setDivVisibility(d,v) {
if (document.layers) {
document.layers[d].visibility= (v)? 'show':'hide';
}
else if (document.getElementById) {
var obj=document.getElementById(d);
obj.style.visibility= (v)? 'visible':'hidden';
}
else if (document.all) {
document.all[d].style.visibility= (v)? 'visible':'hidden';
}
}

function termGuiElementReady(e,d) {
if (document.layers) {
var doc=(d)? d : self.document;
return ((doc) && (doc.layers[e]))? true:false
}
else if (document.getElementById) {
return (document.getElementById(e))? true:false
}
else if (document.all) {
return (document.all[e])? true:false
}
else return false
}

//eof

Copyright © 2019- vc-talk.com 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务