一个用js实现控制台控件的代码

复制代码 代码如下:

  <body margin="0">

  </body>

  <script>

  function Console(width,height,command)

  {

  var container=document.createElement("div");

  this.container=container;

  container.runtimeStyle.width=(width);

  container.runtimeStyle.height=(height);

  container.runtimeStyle.margin="0px";

  container.runtimeStyle.backgroundColor="black";

  container.runtimeStyle.fontFamily="Terminal";

  container.runtimeStyle.color="white";

  container.runtimeStyle.fontSize="16px";

  this.output=document.createElement("div");

  container.appendChild(this.output);

  container.innerHTML+="js>"

  this.input=document.createElement("input");

  container.appendChild(this.input);

  this.input.runtimeStyle.backgroundColor="black";

  this.input.runtimeStyle.borderWidth="0px";

  this.input.runtimeStyle.color="white";

  this.input.runtimeStyle.fontFamily="Terminal";

  this.input.runtimeStyle.width="90%"

  this.input.runtimeStyle.fontSize="16px"

  this.input.runtimeStyle.position="relative";

  this.input.runtimeStyle.top="2px";

  command=command||function(str)

  {

  var e;

  try{

  var r=eval(str);

  } catch(e) {

  return "Bad command";

  }

  return r;

  }

  this.input.command=function()

  {

  this.parentNode.childNodes[0].innerHTML+=this.value+'<br/>'

  this.parentNode.childNodes[0].innerHTML+=(command(this.value)+"<br/>")

  }

  this.input.onkeyup=new Function("e","e=e||event;if(e.keyCode!=13)return;this.command();this.value='';");

  this.appendto=function(parent)

  {

  parent.appendChild(this.container);

  }

  container=null;

  }

  //var db=new DrawingBoard(100,100)

  //db.drawLine([5,5],[36,44],"red")

  //document.body.appendChild(db.container);

  var c=new Console("100%","100%");

  c.appendto(document.body);

  </script>