プロが教えるわが家の防犯対策術!

簡単なDOSコマンド練習用WEBを作りたいと思っています。

実現したい内容は以下のようなイメージです。

ホームページにアクセスすると、ホームページ内にDOS窓みたいなウインドウがあり(格好悪いけど、フォームでも可能)、そのウインドウ内に『c:\』とかプロンプトが出ていて、そこで『dir』と入力してリターンを押すと、本物じゃなくて構わないので、あらかじめ用意されていたdirに対応する出力が、だらだらと表示される仕組み。 コマンド入れずにリターンの連打をするとDOS窓同様にプロンプト『c:\』が繰り返し表示されるイメージです。

完全なエミュレーターではなくて、DOSコマンド数種類だけを試す
ようなWEBを作りたいと思っています。

お知恵お貸しくださいませ。

Take

A 回答 (1件)

ちょっと遊びで作ってみました。


ここにアップするとスペースが削除されてしまうので、表示が変わってしまいますけど、
それは、実際に使うときに、
画面からコピーしてデータ作成して下さい。
基本的には、
データ入力した部分をcaseに書き加えて
その時の動作として表示する部分を加えていけばいいだけです。
window.eventを使っているのでIEのみですが、
witchを使うように切り換えることで、FireFox系でも動くようにすることはできると思います。
--------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>DOSエミュレータモドキ</title>
<script language="JScript">
<!--
function inp(f){
if(window.event.keyCode==13){
var Texts=f.value.split(/\n/);
var LastLine=Texts.length -1;
switch(Texts[LastLine].toUpperCase()){
case "C:\\>DIR":
f.value+="\r"+
"2005/08/26 19:33 <DIR> ."+"\r"+
"2005/08/26 19:33 <DIR> .."+"\r"+
"2005/04/17 05:05 125 2005-04-17.txt"+"\r"+
"2005/04/18 00:18 118 2005-04-18.txt"+"\r"+
"2005/08/04 18:18 <DIR> test"+"\r"+
" 2 個のファイル 31,278 バイト"+"\r"+
" 3 個のディレクトリ 277,293,568 バイトの空き領域"+"\r"+
"\rC:\\>";
break;
case "C:\\>CLS":
f.value="C:\\>";
break;
default:
f.value+="\rC:\\>";
}
return false;
}
}
//-->
</script>
</head>
<body onload="scr.focus();scr.value+=''">
DOSエミュレータもどき<br>
<textarea id="scr" cols="72" rows="25" onkeypress="return inp(this)">C:\&gt;</textarea>
</body>
</html>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!