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

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

/************************
   특수키 Key Protection
************************/
function lockKey() {
  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;
   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)) {
   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 (event.keyCode == 166 || event.keyCode == 17 ||
     event.keyCode == 18 || event.keyCode == 168) {
   event.keyCode = 0;
   alert("특수 키는 사용하실 수 없습니다.");
   return false;
  }

  /************************
    
  ************************/
  else if ((event.altKey)||(event.ctrlKey)) {
   event.keyCode = 0;
   alert("특수 키는 사용하실 수 없습니다.");
   return false;
  }

}

/************************
     
 ************************/
if (window.Event) {
  document.captureEvents(Event.KEYDOWN)
}
window.document.onkeydown = 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

번호 제목 글쓴이 날짜 조회 수
246 [Gemini] ajax 와 fetch 의 차이 황제낙엽 2025.01.04 3419
245 [검토 완료] 디바이스 카메라로 촬영한 사진을 서버에 업로드하기 샘플 황제낙엽 2024.11.21 3987
244 브라우저에서 이미지를 편집(crop 등) 할 수 있는 오픈소스 Cropper.js 황제낙엽 2024.11.16 3842
243 [ChatGPT] json data 의 정렬 [1] 황제낙엽 2024.07.23 3352
242 DOMContentLoaded 이벤트와 window.onload 이벤트 황제낙엽 2024.07.15 3669
241 fetch() 사용 예제들 황제낙엽 2024.07.09 3380
240 [Copilot] Vanilla JavaScript에서 외부 스크립트 파일에 정의된 함수들을 로드 황제낙엽 2024.06.21 3758
239 [Copilot] ES6 모듈(module) 문법 황제낙엽 2024.06.21 3805
238 [Copilot] JSON 객체 내부 데이터를 순회하면서 조회하는 코드 황제낙엽 2024.06.02 3270
237 [Copilot] JavaScript로 서버에 특정 값을 POST 방식으로 전달하고 응답을 기다리지 않고 바로 종료 황제낙엽 2024.05.31 3615
236 json 데이터 내의 변수명에 prefix 로 type 표현하기 황제낙엽 2024.04.15 3361
235 fetch() 함수 사용 예제 file 황제낙엽 2023.11.23 3605
234 현재 document 의 host 와 port 를 얻는 방법 황제낙엽 2023.10.03 4209
233 (Bard) FileReader 로 여러개의 파일을 read 하는 법 file 황제낙엽 2023.08.23 3660
232 How to build a file upload service with vanilla JavaScript file 황제낙엽 2023.08.22 3715
231 (Bard) JavaScript로 JSON 배열을 작성하는 방법 황제낙엽 2023.08.21 3672
230 모바일 브라우저에서 file input element 를 이용하여 여러장의 이미지를 서버에 전송하려 할때 [1] 황제낙엽 2023.08.21 3703
229 navigator.mediaDevices 황제낙엽 2023.08.21 3798
228 Barcode Detection API 황제낙엽 2023.08.06 3854
227 정규식을 이용한 이메일 검증 스크립트 file 황제낙엽 2023.06.25 2894