尽然有js写的操作系统,开辟者才记得这一个

作者: 前端技术  发布:2019-10-01

唯有 90 时代的 Web 开垦者才记得那几个

2016/04/26 · 基本功手艺 · 2 评论 · WEB

本文由 伯乐在线 - dcscodelife 翻译,艾凌风 校稿。未经许可,防止转载!
阿尔巴尼亚语出处:holman。接待插足翻译组。

你早就强行把 <blink> 标签放入<marquee> 标签吗?近来Pique斯动画工作室获得了全体荣誉,不过在 90 时代那几个做法规是计算机动画的顶天而立创举。通过整合三种标签,你成为了二个先行者。八个新意无限的人。贰个令全数人都崇拜的人。

在 90 时代,你曾经是二个网页开拓者。

在当下,你知道本人是三个优质的人选。伴随你而来的是独步一时大量的手艺立异,从那时开首,大家还没来得及做出喜好,技艺就曾经起来复制开来了。

让大家先放下 jQuery,抛开非关系型数据库不谈:大家有更要紧的专门的学业要切磋。

1×1.gif

1×1.gif 应有赢得巨大的格莱美大奖。或然普利策音讯奖。大概类似四年级体育课上宣布的超级升高奖。除了链式链表,它是Computer科学史上最关键的成功。它不是大家应得的今后,而是我们必要的前途(直到盒子模型通透到底代替了它)。

举个例子你还没不熟悉我们的 1×1.gif 小把戏,请看上边:

图片 1

你能看出它呢,让我们加大一些:

图片 2

The 1×1.gif

本条 1×1.gif – 要么 spacer.gif,只怕 transparent.gif – 仅仅是一个长度宽度都是三个像素的晶莹 GIF 图像。

JavaScript

<IMG SRC="/1x1.gif" WIDTH=150 HEIGHT=250>

1
<IMG SRC="/1x1.gif" WIDTH=150 HEIGHT=250>

因而地方的代码,你能够把成分放置在页面的别的岗位上。

JavaScript

<TABLE> <TR> <TD><IMG SRC="1x1.gif" WIDTH=300> <TD><FONT SIZE=42>Hello welcome to my <MARQUEE>Internet Web Home</MARQUEE></FONT> </TR> <TR> <TD BGCOLOR=RED><IMG SRC="/cgi/webcounter.cgi"> </TR> </TABLE>

1
2
3
4
5
6
7
8
9
<TABLE>
  <TR>
    <TD><IMG SRC="1x1.gif" WIDTH=300>
    <TD><FONT SIZE=42>Hello welcome to my <MARQUEE>Internet Web Home</MARQUEE></FONT>
  </TR>
  <TR>
    <TD BGCOLOR=RED><IMG SRC="/cgi/webcounter.cgi">
  </TR>
</TABLE>

1×1.gif 令你易如反掌地在页面包车型客车任何位放置成分。直到后天谢世,它如故是独一的垂直居相月素的办法。

JavaScript

          

1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

图片对于你来说是否太高级了?《HTML For Dummies》是否截止第四章才介绍 <IMG> 标签?未来好了,你是幸好的:&nbsp; 标签来了!

您能够对自身说,“作者晓得全数 HTML 实体编码。这几个弱不禁风的花美男来那边干嘛的?”

听着,我亲呢的智慧的喜人的读者朋友,这是叁个现行反革命的小青年未有予以丰富保养的换代:不断重复 &nbsp;。很像 1×1.gif 的小把戏,你能轻巧地扩张 &nbsp; 并用在别的你要求的地点:

JavaScript

PLEASE SIGN <BR>       MY GUESTBOOK BELOW: <HR><HR>

1
2
3
PLEASE SIGN  <BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MY GUESTBOOK BELOW:
<HR><HR>

在 90 时代,假设本身每写下二个 &nbsp; 就获得五美分,作者就能够有丰盛的钱支付来自United States在线的每月超额支出账单了。

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

点下划线,边界效应

在 HTML 快走到他的金子一代的狐狸尾巴时,CSS 进场了,它推动了三个内容和体裁分离的社会风气,从此大家也开始不停地拍卖祸殃。

最先受到魔难地自然是用 CSS 来删除链接的下划线效果。一夜之间,整个因特网都陷入了那几个法子所推动的泥泞之中,文本看起来像链接,链接看起来像文本。你不亮堂点哪个地方,但是黑暗并未一再多长期,因为大家证明了光标效果(你还并未有活到你的鼠标有拾贰个火球尾巴的时候)。

高级技能的施用是那样扎眼,以致于大概大家全数人都从一开首就采用CSS。作者以致在 两千 年的一份 index.shtml(对,就是SSI)文书档案中窥见了证据:

JavaScript

<style type="text/css"> <!-- a:hover {text-decoration: none; color: #000000} --> </style>

1
2
3
4
5
<style type="text/css">
<!--
a:hover {text-decoration: none; color: #000000}
-->
</style>

就是它了!当然,这是 CSS 的内嵌样式。那个样式使您的鼠标滑过链接时,删除链接的下划线并且链接的文字变黑。从此,交互式网址诞生了。

// term gui

DHTML 动态超文本标志语言

就在大家具备了除去链接下划线的技术后,大家决定把它和一个强硬作用整合起来,这几个职能正是在页面加载的时候弹出一个音信框 alert("Welcome to my website!")。组合 CSS 和 JavaScript 的双面力量,大家赢得了三个本事怪兽:DHTML。

DHTML,表示“布满式 HTML”,那是网页开辟工具的万丈成就。它将经受住时间的考验,它能够使大家达成广大作用,举例雪花从页面顶端飘落下来,也许创建可折叠的菜单,动态的图片地图,又或许除了利用语义标签 <div>,大家仍是能够自定义 <marquee> 标签。

DHTML 帮忙 Web 开辟从业余爱好发展到七个深图远虑的正儿八经领域。类似 Dynamic Drive 那样的网址使您可以独自经过复制粘贴叁个 50 行的代码块,就能够消除其余难点,而无需团结再思虑立异的消除方法。实际上, DHTML 正是不行时代的 推特 Bootstrap 框架。

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;

像素字体

充裕时期的Computer显示器不是不小。小编的意味是,尽管自从阴极射线管荧屏 CRT 诞生后,显示屏的尺码的确极大,不过它们的分辨率不高。由此,为了丰富利用像素,大家亟须用 6 个像素点来表示任意字符。

图片 3

从字里行间大家得以旁观,当面临着那一个简单的无法再简单的书体,并且当开采到这一个字体都以由像素结合的时候,Web 开垦者们会渴望成为二个漫歌唱家。所以您会在起步画面上见到那多少个离奇的等距像素插图,这么些开辟者的日子和钱财假诺投到那么些新上市的网络集团会生出愈来愈多的价值,并不是浪费在装置 Photoshop 软件上。

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

按钮

本身深教徒人据此讨厌IE浏览器,都是因为IE浏览器扬弃了那时这种最纯粹的样板

IE 4.0 是浏览器的圆满化身。它具有动态桌面。具有通道 Channels。对,就是惊天动地的坦途,那是最酷的技术,从前根本不曾经在市镇上被应用过,一点都未有。总的来讲,IE 4 太美好了,无论你是或不是喜欢它,你都应当把它装到你的微型Computer上。

当你属于精英团队时,你深远驾驭完美的股票总市值,你有一种与生俱来的激动,你想告诉每二个你遭逢的人你的决定。你,也不过独有你有要求严正地做壹个巨大的调控。比如决定你的客商利用什么浏览器浏览你的网址。

图片 4

那个开关随处可知。就疑似军人衣服上的绶带:向大家公布着他们为了方今的光荣,曾经是何许努力战争的故事。换句话说,无论你用哪一个编辑器(当然是 FrontPage 98),无论你的 Web 服务器是怎么样(傻瓜,当然是 吉优Cities),无论是 Web 环的哪位部分(这么些按键无论怎么着都将升高你的网站排名)

本人怀念这段美好的时节。最近大家在 Javascript上拓宽抽象,在空虚之上又开展抽象。我们居然都不精晓什么准确地打开总括。每当想起大家什么走到前几天这一步,都令人十分震动。

让大家自豪地举起酒杯,帮我们二个忙:复制一群 &nbsp; 到你的下贰个代码提交中,让您的团体成员惊诧卓绝吧。

1 赞 收藏 2 评论

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

有关作者:dcscodelife

图片 5

简要介绍还没来得及写 :) 个人主页 · 小编的小说 · 10 ·  

图片 6

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]='<SPAN CLASS="termReverse">';
termStyleClose[1]='</SPAN>';
termStyleOpen[2]='<U>';
termStyleClose[2]='</U>';
termStyleOpen[4]='<I>';
termStyleClose[4]='</I>';
termStyleOpen[8]='<STRIKE>';
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<imgnames.length; i++) {
        var n=imgnames[i];
        termImages[n]=new Image();
        termImages[n].src=path+n+'.gif'
    }
}

if (document.images) termImgPreload(termImgPath,termImgNames);

function termSetImg(n,v) {
    if (document.images) {
        var img=(termLayers)? termDocNS4.images['term_'+n] : document.images['term_'+n];
        var stat=(v)? '_hi' : '_lo';
        img.src=termImages[n+stat].src
    }
}

// UI keyboard
// key maps (200=left shift, 202=right shift, 204=CpsLock)

var termKeyMap= [
    [96,49,50,51,52,53,54,55,56,57,48,45,61,8],
    [27,113,119,101,114,116,121,117,105,111,112,91,93,13],
    [204,97,115,100,102,103,104,106,107,108,59,39,35],
    [200,92,122,120,99,118,98,110,109,44,46,47,30,202],
    [32,28,31,29]
];
var termKeyMapShift=[
    [126,33,34,35,36,37,94,38,42,40,41,95,43,8],
    [27,81,87,69,82,84,89,85,73,79,80,123,125,13],
    [204,65,83,68,70,71,72,74,75,76,58,34,64],
    [200,124,90,88,67,86,66,78,77,60,62,63,30,202],
    [32,28,31,29]
];
var termKeyMapCpslk=[
    [96,49,50,51,52,53,54,55,56,57,48,45,61,8],
    [27,81,87,69,82,84,89,85,73,79,80,91,93,13],
    [204,65,83,68,70,71,72,74,75,76,59,39,35],
    [200,92,90,88,67,86,66,78,77,44,46,47,30,202],
    [32,28,31,29]
];
var termKeyWdth=[
    [35,35,35,35,35,35,35,35,35,35,35,35,35,69],
    [55,35,35,35,35,35,35,35,35,35,35,35,35,0],
    [65,35,35,35,35,35,35,35,35,35,35,35,35],
    [49,35,35,35,35,35,35,35,35,35,35,35,35,54],
    [252,35,35,35]
];

var keycapsImgNames=new Array(200,201,202,203,204,205);

function termKeyCaps(k) {
    if ((k<28) && (k>=32) && (repeatTimer)) clearTimeout(repeatTimer);
    if (k==204) {
        keycapsCpslk=(!keycapsCpslk);
        var cnr=(keycapsCpslk)? 205:204;
        termKbdSetImg(204,cnr)
    }
    else if ((k==200) || (k==202)) {
        keycapsShift=(!keycapsShift);
        var m=(keycapsShift)? 1:0;
        termKbdSetImg(200,200+m);
        termKbdSetImg(202,202+m)
    }
    else {
        var ch=0;
        if (keycapsShift) {
            ch=keycapsShiftRef[k]
            keycapsShift=false;
            termKbdSetImg(200,200);
            termKbdSetImg(202,202)
        }
        else if (keycapsCpslk) ch=keycapsCpslkRef[k]
        else ch=k;
        keyHandler({which:ch,jsuix_remapped:true})
    }
}

function termKbdSetImg(n,v) {
    if (document.images) {
        var img=(termLayers)? termKbdDocNS4.images['key'+n] : document.images['key'+n];
        img.src=termImages[v].src
    }
}

function termSetKbdButton(v) {
    if (document.images) {
        var img=(termLayers)? termDocNS4.images.term_kbd_show : document.images.term_kbd_show;
        var n=(termKbdOn)? 'kbd_hide' : 'kbd_show';
        var stat=(v)? '_hi' : '_lo';
        img.src=termImages[n+stat].src
    }
}

function termKbdShow() {
    if (termKbdOn) {
        setDivVisibility(termKbdDiv,0);
        termKbdOn=false;
        termSetKbdButton(0)
    }
    else {
        termImgPreload(keycapspath,keycapsImgNames);
        keycapsShift=false;
        keycapsCpslk=false;
        var s='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
        s+='<TR><TD WIDTH="7" BGCOLOR="'+termPageColor+'"><IMG SRC="'+keycapspath+'spacer.gif" WIDTH="7" HEIGHT="2"></TD>n';
        s+='<TD BGCOLOR="'+termPageColor+'">'+termMakeKbd()+'</TD>n';
        s+'<TD WIDTH="7" BGCOLOR="'+termPageColor+'"><IMG SRC="'+keycapspath+'spacer.gif" WIDTH="7" HEIGHT="2"></TD><TR>n';
        s+='<TR><TD HEIGHT="10" COLSPAN="3" BGCOLOR="'+termPageColor+'"><IMG SRC="'+keycapspath+'spacer.gif" WIDTH="2" HEIGHT="10"></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='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
    for (var i=0; i<termKeyMap.length; i++) {
        s+='<TR><TD NOWRAP HEIGHT="39" VALIGN="top" NOWRAP BGCOLOR="'+termKbdBgColor+'">';
        for (var k=0; k<termKeyMap[i].length; k++) {
            var kc=termKeyMap[i][k];
            keycapsShiftRef[kc]=termKeyMapShift[i][k];
            keycapsCpslkRef[kc]=termKeyMapCpslk[i][k];
            if (kc==13) {
                s+='<A HREF="javas'+'cript:termKeyCaps(13)" onfocus="if(this.blur)this.blur()"><IMG SRC="'+keycapspath+'13_1.gif" HSPACE="0" VSPACE="0" ALIGN="top" BORDER="0" WIDTH="47" HEIGHT="39"></A>';
                continue
            };
            if (kc==32) s+='<IMG SRC="'+keycapspath+'spacer.gif" WIDTH="139" HEIGHT="35" HSPACE="1" VSPACE="1" ALIGN="top">'
            else if (kc==28) {
                s+='<IMG SRC="'+keycapspath+'spacer.gif" WIDTH="23" HEIGHT="35" HSPACE="1" VSPACE="1" ALIGN="top">';
                s+='<A HREF="javasc'+'ript:cursorKbdLeft()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('left',1)" onmouseup="repeatClear()"><IMG SRC="'+keycapspath+kc+'.gif" NAME="key'+kc+'" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="'+termKeyWdth[i][k]+'" HEIGHT="35"></A>';
                continue
            }
            else if (kc==29) {
                s+='<A HREF="javasc'+'ript:cursorKbdRight()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('right',1)" onmouseup="repeatClear()"><IMG SRC="'+keycapspath+kc+'.gif" NAME="key'+kc+'" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="'+termKeyWdth[i][k]+'" HEIGHT="35"></A>';
                continue
            }
            else if (kc==8) {
                s+='<A HREF="javasc'+'ript:termKbdBackspace()" onfocus="if(this.blur)this.blur()" onmousedown="repeatSet('backspace',1)" onmouseup="repeatClear()"><IMG SRC="'+keycapspath+kc+'.gif" NAME="key'+kc+'" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="'+termKeyWdth[i][k]+'" HEIGHT="35"></A>';
                continue
            }
            s+='<A HREF="javas'+'cript:termKeyCaps('+kc+')" onfocus="if(this.blur)this.blur()"><IMG SRC="'+keycapspath+kc+'.gif" NAME="key'+kc+'" HSPACE="1" VSPACE="1" ALIGN="top" BORDER="0" WIDTH="'+termKeyWdth[i][k]+'" HEIGHT="35"></A>';
            if (kc==35) s+='<A HREF="javas'+'cript:termKeyCaps(13)" onfocus="if(this.blur)this.blur()"><IMG SRC="'+keycapspath+'13_2.gif" HSPACE="0" VSPACE="0" ALIGN="top" BORDER="0" WIDTH="37" HEIGHT="36"></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+='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1">n';
    s+='<TR><TD BGCOLOR="'+termFrameColor+'" COLSPAN="2"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2"><TR><TD  BGCOLOR="'+termBgColor+'"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">n';
    var rstr='';
    for (var c=0; c<conf_cols; c++) rstr+=' ';
    for (var r=0; r<conf_rows; r++) {
        var id=((termLayers) || (termSubDivs))? '' : ' ID="term_'+r+'"';
        s+='<TR><TD NOWRAP HEIGHT="'+conf_rowheigt+'"'+id+' CLASS="term">'+rstr+'</TD></TR>n';
    };
    s+='</TABLE></TD></TR>n';
    s+='</TABLE></TD></TR>n';

    s+='<TR>n<TD VALIGN="middle" BGCOLOR="'+termPageColor+'"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1"><TR>n';
    s+='<TD><A HREF="javasc'+'ript:termKbdShow()" onmouseover="termSetKbdButton(1); window.status='show/hide full graphic keyboard'; return true" onmouseout="termSetKbdButton(0); window.status=''; return true" onfocus="if(this.blur)this.blur()"><IMG SRC="'+termImgPath+'kbd_show_lo.gif" NAME="term_kbd_show" WIDTH="73" HEIGHT="19" BORDER="0" HSPACE="5" ALT="show/hide keyboard"></A></TD></TR></TABLE></TD>n';

    s+='<TD ALIGN="right"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1"><TR>n';
    s+='<TD><A HREF="javasc'+'ript:cursorKbdLeft()" onmouseover="termSetImg('left',1); window.status='left'; return true" onmouseout="termSetImg('left',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="cursor left" onmousedown="repeatSet('left',1)" onmouseup="repeatClear()"><IMG SRC="'+termImgPath+'left_lo.gif" NAME="term_left" WIDTH="23" HEIGHT="23" ALT="cursor left" BORDER="0"></A></TD>n';
    s+='<TD><A HREF="javasc'+'ript:cursorKbdRight()" onmouseover="termSetImg('right',1); window.status='right'; return true" onmouseout="termSetImg('right',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="cursor right" onmousedown="repeatSet('right',1)" onmouseup="repeatClear()"><IMG SRC="'+termImgPath+'right_lo.gif" NAME="term_right" WIDTH="23" HEIGHT="23" ALT="cursor right" BORDER="0"></A></TD>n';
    s+='<TD><A HREF="javasc'+'ript:termKbdBackspace()" onmouseover="termSetImg('delete',1); window.status='backspace'; return true" onmouseout="termSetImg('delete',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="backspace" onmousedown="repeatSet('backspace',1)" onmouseup="repeatClear()"><IMG SRC="'+termImgPath+'delete_lo.gif" NAME="term_delete" WIDTH="23" HEIGHT="23" ALT="backspace" BORDER="0"></A></TD>n';
    s+='<TD><A HREF="javasc'+'ript:termKbdEsc()" onmouseover="termSetImg('esc',1); window.status='esc'; return true" onmouseout="termSetImg('esc',0); window.status=''; return true" onfocus="if(this.blur)this.blur()" TITLE="esc"><IMG SRC="'+termImgPath+'esc_lo.gif" NAME="term_esc" WIDTH="23" HEIGHT="23" ALT="esc" BORDER="0"></A></TD>n';
    s+='</TR></TABLE></TD></TR>n';
    s+='</TABLE>n';
    if (termLayers) {
        for (var r=0; r<conf_rows; r++) {
            s+='<LAYER NAME="term_'+r+'" TOP="'+(3+r*conf_rowheigt)+'" LEFT="3" CLASS="term"></LAYER>n'
        };
        termDocNS4=document.layers[termDiv].document;
        termStringStart='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD NOWRAP HEIGHT="'+conf_rowheigt+'" CLASS="term">';
        termStringEnd='</TD></TR></TABLE>';
    }
    else if (termSubDivs) {
        for (var r=0; r<conf_rows; r++) {
            s+='<DIV ID="term_'+r+'" STYLE="position:absolute; top:'+(3+r*conf_rowheigt)+'px; left: 3px;" CLASS="term"></DIV>n'
        };
        termStringStart='<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD NOWRAP HEIGHT="'+conf_rowheigt+'" CLASS="term">';
        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<conf_cols; 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<termStyles.length; 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<conf_rows; 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

你或者感兴趣的小说:

  • JavaScript 检查实验浏览器和操作系统的本子
  • jsp 获取顾客端的浏览器和操作系统音信
  • JavaScript 获取顾客客商端操作系统版本
  • js下获得客商端操作系统的函数代码(1:vista,2:windows7,3:两千,4:xp,5:二〇〇四,6:二零零六)
  • JavaScript高端程序设计阅读笔记(十六) javascript检查评定浏览器和操作系统-detect.js
  • 利用Javascript判定操作系统的类型完结不一样操作系统下的宽容性
  • JS获得浏览器版本和操作系统版本的事例
  • 包装好的js决断操作系统与浏览器代码分享
  • 基于JavaScript的操作系统你据书上说过吧?

本文由金沙澳门官网送注册58发布于前端技术,转载请注明出处:尽然有js写的操作系统,开辟者才记得这一个

关键词: