2011-05-13 3 views
1

:IE 대 구글 크롬 내 html 파일이이

<html> 
    <head> 
     <title> 
      CMD.exe 
     </title> 

     <link rel="stylesheet" type="text/css" href="cmd.css" /> 
     <script language="JavaScript" SRC="cmd.js"></script> 
    </head> 
    <body onload="blinkCursor();"> 
     <span id="content">&gt;</span><span style="display:none;" id="blink" >|</span> 
     <div onKeyPress="keyPress(event);" style="position:absolute;z-index:2;width:100%;height:100%;"></div> 
    </body> 
</html> 

이 내 자바 스크립트입니다 :

var blinkOn =false; 

function blinkCursor() { 
    if (blinkOn) 
     { 
      document.getElementById("blink").style.display="none"; 
     } else { 
      document.getElementById("blink").style.display="inline"; 
     } 
    blinkOn=!blinkOn; 
    setTimeout("blinkCursor()",500);  
} 

function keyPress(e) { 
    var keynum = ('which' in event) ? event.which : event.keyCode; 
    var val=String.fromCharCode(keynum); 
    document.getElementById("content").innerHTML=document.getElementById("content").innerHTML+val 
} 

그리고

여기 CSS 스타일과 결합 된 경우 :

html, body { 
     background-color:black; 
     overflow:hidden; 
     font-family:"lucida console"; 
     color:white; 
    } 

시원한 CMD와 유사한 웹 페이지를 만듭니다. 유일한 문제는 텍스트 입력이 Google 크롬에서 작동하지 않지만 IE (및 아마도 ff?)에서 정상적으로 작동한다는 것입니다. [ENTER] 및 [BACKSPACE]와 같은 키를 감지하는 방법도 알지 못합니다.

도움이 될 것입니다.

답변

6

jsFiddle을 실행했는데 첫 번째 깜박임 후 Chrome이 기능을 제대로 등록하지 않은 것으로 보입니다. 또한 함수에서 e로 정의했을 때 keyPress 함수에서 이벤트를 사용하고있었습니다. 이것은 나를 위해 일한 :

var blinkOn =false; 

blinkCursor = function() { 
    if (blinkOn) 
     { 
      document.getElementById("blink").style.display="none"; 
     } else { 
      document.getElementById("blink").style.display="inline"; 
     } 
    blinkOn=!blinkOn; 
    setTimeout("blinkCursor()",500);  
} 

keyPress = function (e) 
{ 
    var keynum = ('which' in e) ? e.which : e.keyCode; 
    var val=String.fromCharCode(keynum); 
    document.getElementById("content").innerHTML=document.getElementById("content").innerHTML+val 
} 

당신은 단지뿐만 아니라 당신은뿐만 아니라 신체 태그 사업부에서 키를 누를 때 (이벤트)를 전환 할 수있는 페이지의 "콘솔"을 발생하는 경우.

입력하고 백 스페이스 등과 같이 자신의 키 코드 확인 감지하려면

keyPress = function (e) 
{ 
    //keynum setting 
    if (keynum == 13) { // it's a return key press } 
    //other stuff 
} 

당신이 일치 찾고하든 키 코드로 (13)를 교체합니다.

피들이 여기에 : http://jsfiddle.net/XuNv2/

관련 문제