js_event_anti.js 오른쪽마우스버튼,키보드 입력등 방지

[다운로드]

 


ex>

 

현재 이 페이지는 마우스 버튼(R) 클릭과 키 입력 마우스 드래그 등이 금지되어있습니다.
다운로드해서 새 버전을 받으시기 바랍니다.

 


/*========================================
 js_event_anti.js
 오른쪽마우스버튼,키보드 입력등 방지

 this_s : 원하는 대상(페이지 전체는 window.document)
 e : event 객체

 ex1>
 js_event_anti([개체]);//페이지 복사방지(오른쪽마우스,키보드, 팝업창이라면 완벽!)
 (개체을 지정하지 않으면 window.document가 대상, 페이지 복사방지(오른쪽마우스,키보드, 팝업창이라면 완벽!)
 ex2>
 [개체].이벤트 = js_event_anti_stop_event; //개체의 해당 이벤트동작은 무시된다
 

 mins01,mins,공대여자
 MSN,NateOn : mins01(at)lycos.co.kr
 2007-02-01
 "공대여자는 예쁘다."를 나타내야만 쓸 수 있습니다.
//========================================*/
//==== 오른쪽 마우스 버튼 막기
function js_event_anti_right(e) {
 evt = e || event;
    try{
  if (document.all){
   if(evt.button == 2 || evt.button == 3) {     
 alert('Don\'t! Mouse Right Click.');   
    js_event_anti_stop_event(evt);
    return false;     }
  }else {
   if(evt.which == 3 || evt.which == 2) {   
 alert('Don\'t! Mouse Right Click.');   
    js_event_anti_stop_event(evt);
    return false; }
  }
    }catch(ex){
  return false;
    }
}
//==== 키보드 입력 막기
function js_event_anti_processKey(e){
 evt = e || event;
 alert('Don\'t! Key Input.');
  try{
  js_event_anti_stop_event(evt);
  return false;
    }catch(ex){
  return false;
    }
}
//==== 이벤트 동작 무시!
function js_event_anti_stop_event(evt){
 if(window.event){
 window.event.keyCode = 0;
 window.event.cancelBubble = true;
 window.event.returnValue = true;    
 }else{
 evt.stopPropagation();
 evt.preventDefault();
 evt.initEvent;
 }
 return false;
}
//==== 기본안티 이벤트 등록(오른쪽마우스,드래그,키입력)
function js_event_anti(this_s){
//문제점 : FF에서는 드래그 이벤트를 제어할 수 없다.// 스타일로 처리
 if(!this_s){this_s = window.document;}
 if(document.attachEvent){
 this_s.attachEvent("onkeydown", js_event_anti_processKey );
 this_s.attachEvent("onmousedown", js_event_anti_right );
 this_s.attachEvent("onselectstart", js_event_anti_stop_event );
 this_s.attachEvent("ondragstart", js_event_anti_stop_event );
 this_s.attachEvent("oncontextmenu", js_event_anti_stop_event );
 }
 else{
 window.captureEvents(Event.MOUSEDOWN);
 window.captureEvents(Event.ONKEYDOWN);
 window.captureEvents(Event.ONCONTEXTMENU);
 this_s.addEventListener("keydown", js_event_anti_processKey , false);
 this_s.addEventListener("mousedown", js_event_anti_right , false);
// this_s.addEventListener("dragstart", js_event_anti_stop_event , false);  //FF에서 지원되지 않는다.
// this_s.addEventListener("selectstart", js_event_anti_stop_event , false);   //FF에서 지원되지 않는다.
//대신사용 스타일 적용
// window.document.body.style.MozUserFocus='ignore';
 window.document.body.style.MozUserInput='disabled';
 window.document.body.style.MozUserSelect='none';
 this_s.addEventListener("contextmenu", js_event_anti_stop_event , false);

 }
}

댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.11
5.12
5.13
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1