본문 바로가기

HTML, JAVASCRIPT

브라우저에서 뒤로가기, 펑션키 막기

location.replace("이동할 새로운 URL");
이런식으로 페이지를 이동하면 history.length가 0 이됩니다.

아래소스는 특수키를 막는 겁니다. 링크의 키코드표와 함께 응용하여 사용하세요.

/-----------------------------------------------------------------/
파이어폭스에서 잘 안되기에 소스를 수정했습니다
/-----------------------------------------------------------------/


/************************
   특수키 Key Protection
************************/
function lockKey(e) {
 if (e == null) {
  if (event.srcElement!="INPUT" || event.srcElement!="TEXTAREA") {
   // INPUT나 TextArea에서 입력가능하게 함.
   // Backspace
   if(event.keyCode == 8) {
    event.keyCode = 0;
    return false;
   }
  }
 
  /************************
       새로고침.. F5 번키.. 막음.
   ************************/
  if(event.keyCode == 116) {
   event.keyCode = 0;
   event.cancelBubble = true;
   event.returnValue  = false;
   return false;
  }
 
  if(event.keyCode == 0) {
   event.keyCode = 0;
   return false;
  }
 
  /************************
       ESC Key 막음.
   ************************/
  if (event.keyCode == 27) {
   event.keyCode = 0;
   //alert("특수 키는 사용하실 수 없습니다.");
   return false;
  }
 
  /************************
       CTRL + N 즉 새로 고침을 막음.
   ************************/
  else if ((event.keyCode == 78) && (event.ctrlKey == true)) {
   alert("특수 키는 사용하실 수 없습니다.");
   event.keyCode = 0;
   return false;
  }
 
  /************************
     
   ************************/
  else if (event.keyCode >= 112 && event.keyCode <= 123) {
   event.keyCode = 0;
   alert("특수 키는 사용하실 수 없습니다.");
   return false;
  }
 
  /************************
     
   ************************/
  else if (event.keyCode == 92 || event.keyCode == 93) {
   event.keyCode = 0;
   alert("특수 키는 사용하실 수 없습니다.");
   return false;
  }
 }else{
  if (e.srcElement!="INPUT" || e.srcElement!="TEXTAREA") {
   // INPUT나 TextArea에서 입력가능하게 함.
   // Backspace
   if(e.keyCode == 8) {
    e.preventDefault();
    return false;
   }
  }
 
  /************************
       새로고침.. F5 번키.. 막음.
   ************************/
  if(e.keyCode == 116) {
   e.preventDefault();
   return false;
  }
 
  /************************
       ESC Key 막음.
   ************************/
  if (e.keyCode == 27) {
   //alert("특수 키는 사용하실 수 없습니다.");
   e.preventDefault();
   return false;
  }
 
  /************************
       CTRL + N 즉 새로 고침을 막음.
   ************************/
  else if ((e.keyCode == 78) && (e.ctrlKey == true)) {
   alert("특수 키는 사용하실 수 없습니다.");
   e.preventDefault();
   return false;
  }
 
  /************************
     
   ************************/
  else if (e.keyCode >= 112 && e.keyCode <= 123) {
   alert("특수 키는 사용하실 수 없습니다.");
   e.preventDefault();
   return false;
  }
 
  /************************
     
   ************************/
  else if (e.keyCode == 92 || e.keyCode == 93) {
   alert("특수 키는 사용하실 수 없습니다.");
   e.preventDefault();
   return false;
  }
 }
}

document.onkeydown = function (e) {
 if(typeof(e) != "undefined")
  lockKey(e);
 else
  lockKey();
}

 

키 코드

내용

실제 값

VK_CANCEL

Ctrl+Break를 눌렀을때

03

VK_BACK

Backspace 키

08

VK_TAB

Tab키

09

VK_RETURN

Enter 키

13

VK_SHIFT

Shift키

16

VK_CONTROL

Ctrl 키

17

VK_MENU

Alt 키

18

VK_CAPITAL

Caps Lock 키

20

VK_ESCAPE

Esc 키

27

VK_SPACE

Space 바

32

VK_PRIOR

Page Up 키

33

VK_NEXT

Page Down 키

34

VK_END

End 키

35

VK_HOME

Home 키

36

VK_LEFT

좌측 화살표

37

VK_UP

위쪽 화살표

38

VK_RIGHT

우측 화살표

39

VK_DOWN

아랫쪽 화살표

40

VK_INSERT

Insert키

45

VK_DELETE

Delete키

46

VK_F1 ~ VKF10

F1~F10

112-121

VK_NUMLOCK

Num Lock

144

VK_SCROLL

Scroll Lock

145

'HTML, JAVASCRIPT' 카테고리의 다른 글

javascript 에서 this.form 사용  (0) 2010.04.13
카렌다  (0) 2007.12.26
[웹디자인]HTML/표의 점선테두리와 프레임의 경계를 도트로  (0) 2007.12.12
javascript 함수모음  (0) 2007.10.12