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}}
    -
목록형 📅 달력형