[다운로드]
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);
}
}