2010-06-21 5 views
16

HTML 페이지에서 마우스 오른쪽 버튼을 사용하지 못하게하고 싶습니다. 사용자가 세부 정보를 입력해야하는 페이지가 있습니다. 마우스 오른쪽 버튼으로 표시되는 메뉴를 사용자가 보지 못하도록하고 싶습니다. 오히려 사용자 정의 메뉴를 표시하려고합니다. 거기에 사용할 수있는 플러그인이 있다는 것을 알고 있습니다. 하지만 내 요구 사항에는 플러그인이 필요하지 않습니다.웹 페이지에서 마우스 오른쪽 버튼을 클릭하지 않도록 설정하는 방법은 무엇입니까?

+1

은밀한 보안? –

+15

메뉴에 어떤 문제가 있습니까? 그것은 사용자에게 속해 있으므로 사용자에게 맡기십시오. * 사용자가 단어를 이해하지 못하고 컨텍스트 메뉴를 통해 액세스 할 수있는 번역 서비스를 사용하려고한다고 상상하십시오. * –

+8

왜이 작업을 수행 하시겠습니까? 페이지가 다른 모든 웹 페이지처럼 작동하지 않으면 혼란 스럽습니다. –

답변

41

그것은 비전문적이다, 어쨌든이 활성화 자바 스크립트와 함께 작동합니다 :

document.oncontextmenu = document.body.oncontextmenu = function() {return false;} 

는 또한 false를 반환하기 전에 사용자에게 메시지를 표시 할 수 있습니다.

그러나이 문제는 문제 해결없이 사용자 옵션을 제한하기 때문에 일반적으로 수행해서는 안된다는 말을해야합니다. 사실 상황에 맞는 메뉴는 다시 사용하도록 설정 될 수 있습니다. 당신이이 일을하는 경우 바로 소스를 보는 사람들 방지하기 위해, 첫째 http://articles.sitepoint.com/article/dont-disable-right-click

+1

또한, 이것이 모든 해결책이 될 수는 없습니다. 단지 js와 hey presto를 비활성화 할 수 있습니다. – Kezzer

+0

왜 단지'document.oncontextmenu = function() {false false; }'? –

6

이렇게하려면 oncontextmenu 이벤트를 사용할 수 있습니다.

하지만 사용자가 자바 스크립트를 사용 중지하면이 문제를 처리 할 수 ​​없습니다.

오른쪽 클릭 메뉴가 비활성화됩니다.

5

: 다음 기사 더 나은

는이 작업을 수행하지 않아야하고 어떤 다른 행동이 일반적인 관련 문제를 해결하기 위해 취할 수있는 이유설명 페이지 바로 가기를 사용할 수 있기 때문에 작동하지 않습니다.

두 번째로,이를 수행하려면 JavaScript를 사용해야합니다. 사용자가 JS를 사용할 수없는 경우 오른쪽 클릭을 방지 할 수 없습니다.

즉, 오른쪽 클릭을 사용 중지하려면 body 태그에이를 추가하십시오.

<body oncontextmenu="return false;"> 
6

<body oncontextmenu="return false;">이 Google 크롬에서 작동합니다. 다른 브라우저에 대한 확신이 없습니다.

참고 : 마우스 오른쪽 버튼 클릭 메뉴를 보려면 JavaScript를 비활성화해야합니다.

1

제발 그렇게하지 마세요. 매우 짜증납니다.

올바른 메뉴가있는 이유가 여기에 있습니다. 많은 브라우저 확장 프로그램이 마우스 오른쪽 버튼 클릭 메뉴에 항목을 추가하므로 사용자는 방문하는 모든 페이지에서 항목을 사용할 수 있습니다.

또 다른 방법 (키보드 단축키, 브라우저 메뉴 등 등)으로 오른쪽 클릭 메뉴의 모든 기능을 사용할 수 있으므로 오른쪽 클릭 메뉴를 차단하면 사용자를 성가 시게하는 유일한 효과가 있습니다.

추신 : 정말로 차단할 충동에 저항 할 수 없다면 "적어도 오른쪽 클릭 허용"이라는 팝업을 넣지 마십시오.

+3

-1 : 좋은 점이 있지만 질문에 답할 수 없으므로 주석이어야합니다. – Quentin

+0

@David Dorward : 실제로 질문에 대답합니다. 오른쪽 클릭 메뉴의 모양을 차단할 수는 있지만 실제로는 ** 기능 **을 차단할 수있는 방법이 없습니다. 다른 방법으로는 사용할 수 없기 때문입니다.오른쪽 클릭 메뉴를 차단하는 것은 나쁜 습관입니다. 그래서 나는 왜 그가해서는 안되는지를 설명하는 훨씬 더 좋은 대답을 발견했습니다. – nico

3

그러나, 사용자가이 매우 성가신 "기능을"중지 자바 스크립트를 해제 할 수 있습니다 Google

를 통해 확인할 수 있습니다이의 예를 많이 있습니다. 나는 이것을 구현하기 전에 이것에 대해 정말로 생각해야한다고 생각합니다. 실제로 콘텐츠를 보호하지는 않습니다 (달성하려는 콘텐츠 인 경우).

here이라는 기사는 얼마나 귀찮고 무의미한지를 보여줍니다. 당신은 마우스 오른쪽 버튼으로 클릭을 차단하기 위해 자바 스크립트를 사용할 수있는 마법 :

body oncontextmenu="return false" 
1

이보십시오. Here은 웹 사이트에서 마우스 오른쪽 버튼을 클릭하는 것을 차단하는 스크립트입니다.

여기에 설명 된대로 자바 스크립트 및/또는 (어쨌든 정말 자바 스크립트 이벤트 핸들러)를 HTML 속성으로 수행 할 수 있습니다
0

을 느끼고 몸 &에 코드 아래 연락처 :

0

// 비활성화 권리를 자바 스크립트 코드를 통해 클릭 스크립트

<script language=JavaScript> 
//Disable right click script 
var message = ""; 
/////////////////////////////////// 
function clickIE() { 
    if (document.all) { 
     (message); 
     return false; 
    } 
} 

function clickNS(e) { 
    if (document.layers || (document.getElementById && !document.all)) { 
     if (e.which == 2 || e.which == 3) { 
      (message); 
      return false; 
     } 
    } 
} 
if (document.layers) { 
    document.captureEvents(Event.MOUSEDOWN); 
    document.onmousedown = clickNS; 
} else { 
    document.onmouseup = clickNS; 
    document.oncontextmenu = clickIE; 
} 

document.oncontextmenu = new Function("return false") 
</script> 

Click here to see semo

1
window.oncontextmenu = function() { 
return false; 
} 

당신을 도울 수 있습니다.

관련 문제