Chrome에서 HTML 요소를 검사 할 수 있도록 오른쪽 클릭을 다시 활성화하는 방법은 무엇입니까?


84

자체 팝업 HTML 요소를 표시하기 위해 오른쪽 클릭 버튼을 덮어 쓴 웹 페이지를보고 있습니다.

이로 인해 Chrome 개발자 도구를 사용하여 요소를 검사 할 수 없습니다.

Chrome 콘솔에서 삽입하여 오른쪽 클릭을 다시 활성화 할 수있는 JavaScript 스 니펫을 아는 사람이 있습니까?

HTML 요소를 쉽게 검사 할 수 있도록 기존의 '오른쪽 클릭'기능을 중단해도 괜찮습니다.

감사.


firefox에 firebug를 사용하는 경우에도 마우스로 요소를 강조 표시 할 수 있습니다. Firefox를 사용한다는 것을 의미하지만 도움이 될 수 있습니다.
Joshua Smickus 2014 년

@Teemu Firebug Lite는 Chrome에서 사용할 수 있습니다. 그래도 기본 도구를 통해 사용해야하는 이유를 모르겠습니다.
James Donnelly 2014 년

1
@JoshSmickus 질문에는 [google-chrome] 태그가 지정되고 OP는 Chrome 개발자 도구 를 사용하여 요소를 검사 하는 방법을 묻습니다 .
Teemu 2014 년

답변:


73

oncontextmenu핸들러를 방금 변경 한 경우 (가장 간단한 방법) 다음과 같이 오버라이드를 제거 할 수 있습니다.

window.oncontextmenu = null;

그렇지 않고 개별 요소에 첨부 된 경우 페이지의 모든 요소를 ​​가져온 다음 각 요소에서 핸들러를 제거 할 수 있습니다.

var elements = document.getElementsByTagName("*");
for(var id = 0; id < elements.length; ++id) { elements[id].oncontextmenu = null; }

또는 그러한 스크립트를 끌 수있는 것 같습니다. Chrome의 확장 프로그램 또는 Firefox옵션을 통해 -자바 스크립트 옵션의 고급 상자에서 '컨텍스트 메뉴 비활성화 또는 바꾸기'를 끕니다.


3
나는 그러나 나는 단지 그것을 테스트 ... 당신이 옳은 길을 생각하며 ... 일을하지 않습니다
Zo72

1
그런 다음 사용중인 메커니즘을 찾아 여기에 게시하여 제거하는 방법을 볼 수 있습니다. 확장이 작동 할 가능성이 가장 높습니다.
Phil H

그것은 또한 onselectstart 강조 다시 활성화 할 수 있습니다 작품
켈빈 응

1
"왼쪽 클릭"을 활성화하려면 어떻게해야합니까?
GorvGoyl

1
나는, 감사 후 F12을 누르면 콘솔을 사용하여 두 번째 스크립트는 위대한 일
jmdon

34

Chrome 60.0.3112.78에서 테스트되었습니다.

위의 방법 중 일부는 작동하지만 내 생각에는 가장 쉬운 방법은 다음과 같습니다.

  1. 개발 도구를 엽니 다 (Shift + Control + i).

  2. "요소"탭을 선택한 다음 "이벤트 리스너"탭을 선택하십시오.

  3. 요소 / 리스너 위로 마우스를 가져갑니다. "제거"버튼이 나타납니다.

  4. "제거"를 클릭하십시오.

예 : 사진 참조.

이벤트 리스너 제거


불행하게도, 내 대상 웹 사이트는없는 일이었다 않았다 ieltsliz.com/ielts-writing-task-1-lessons-and-tips
오마르

@Omar이 특정 사이트의 경우 복사를 중지하기 위해 몇 가지 작업을 수행했습니다. Chrome에서 Ctrl + Shift + I는 URL 표시 줄에있는 동안 콘솔로 이동할 수 있습니다. 모든 이벤트 리스너를 삭제하고 ( "Ancestors"를 선택하고 모든 것을 제거하고, body 태그에 몇 가지 추가 항목이 있음), 본문에서 "선택할 수없는"클래스를 제거하고, "user-select"를 변경하여 선택 및 복사가 제대로 작동 할 수있었습니다. html 스타일에서 자동으로.
Lugia101101

22

가장 쉬운 방법은 Cmd + Opt + I (Mac) 또는 F12 (PC)를 눌러 개발 도구를 여는 것입니다. 그런 다음 검색 (확대경, 개발 도구 도구 모음의 왼쪽 상단)을 사용하여 요소를 선택할 수 있습니다.


감사합니다.하지만이 단계에서는 소품을 너무 다시 활성화하고 싶습니다 ... 해결 방법이 아닙니다
Zo72

4
또는 Ctrl (Cmd) + Shift + C를 사용하여 '요소 선택'기능을 직접 열 수 있습니다.
Titi

20

이 책자는 2019 년 8 월 현재 Google 사이트 / YouTube에서 작동합니다 (Chrome 및 Firefox에서 테스트 됨).

javascript: function enableContextMenu(aggressive = false) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

페 스키어 사이트의 경우 공격적을 true로 설정 / 전달합니다 (이렇게하면 대부분의 이벤트 핸들러가 비활성화되므로 페이지와의 상호 작용이 비활성화됩니다).

javascript: function enableContextMenu(aggressive = true) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

15

마우스 오른쪽 버튼을 다시 활성화하려면 다음 코드를 사용할 수 있습니다.

document.oncontextmenu = function(){}

바로 가기 키 (Ctrl + Shift + i)를 사용하여 Windows OS의 크롬에서 요소 검사를 열 수 있습니다.


1
이것은 매력처럼 작동합니다! 저처럼 자주해야한다면 북마크릿으로 추가 할 수 있습니다. 새 북마크를 만들고 URL로 넣으세요. javascript : (document.oncontextmenu = function () {}) () 이제 당신을 괴롭히는 페이지, 북마크릿을 클릭하고 완료하십시오.
nico gawenda

이것이 최고의 답변입니다. 감사합니다.
Ali Hashemi

14

@Chema 솔루션을 기반으로 재설정 pointer-eventsuser-select. none이미지 에 대해 로 설정된 경우 마우스 오른쪽 버튼으로 클릭해도 이미지를 보거나 저장할 수있는 옵션이있는 컨텍스트 메뉴가 호출되지 않습니다.

javascript:function enableContextMenu(aggressive = true) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll('body'); removeContextMenuOnAll('img'); removeContextMenuOnAll('td'); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); enablePointerEvents(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener('contextmenu', bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener('contextmenu', bringBackDefault, true); el.addEventListener('dragstart', bringBackDefault, true); el.addEventListener('selectstart', bringBackDefault, true); el.addEventListener('click', bringBackDefault, true); el.addEventListener('mousedown', bringBackDefault, true); el.addEventListener('mouseup', bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener('contextmenu', bringBackDefault, true); el.removeEventListener('dragstart', bringBackDefault, true); el.removeEventListener('selectstart', bringBackDefault, true); el.removeEventListener('click', bringBackDefault, true); el.removeEventListener('mousedown', bringBackDefault, true); el.removeEventListener('mouseup', bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } function enablePointerEvents(el) {  if (!el) return; el.style.pointerEvents='auto'; el.style.webkitTouchCallout='default'; el.style.webkitUserSelect='auto'; el.style.MozUserSelect='auto'; el.style.msUserSelect='auto'; el.style.userSelect='auto'; enablePointerEvents(el.parentElement); } enableContextMenu();

첫 번째 솔루션이 작동하지 않는 동안 작동했습니다 (확대 화면 녹화 페이지에서 시도)
elad silver

7

javascript:void(document.oncontextmenu=null); 열린 브라우저 콘솔을 사용하고 위의 코드를 실행할 수 있습니다 . 마우스 오른쪽 버튼 차단 기능이 해제됩니다.


6

또 다른 가능한 방법은 jquery로 차단 기능을 만들 때 다음을 사용하는 것입니다.

$(document).unbind();

document.contextmenu = null로 지울 수없는 동적 속성의 모든 onmousedown 및 contextmenu 이벤트를 지 웁니다. 기타


: 나를 위해 같은 일부 코드는 다시 결합했다$(document).bind("contextmenu",function(e){if(!$('#easyy').length)e.preventDefault();});
축하의 마스터

1

안녕하세요, 저는 더 짧은 버전이 있습니다. 이것은 베스트 답변과 동일합니다. (크롬 74.03에서 작동)

document.querySelectorAll('*').forEach(e => e.oncontextmenu = null)

0

Chrome에서 "SETTINGS> PRIVACY> don´t allow JavaScript"를 비활성화하면 오른쪽 클릭 기능이 활성화되고 Firebug Console이 작동 할 수 있습니다. 다른 모든 JavaScript 코드도 비활성화됩니다.

이를 수행하는 올바른 방법은 특정 JavaScript 만 비활성화하는 것입니다. 다음 코드 줄 중 하나를 찾습니다.

  • 기능 disableclick
  • Function click… return false;
  • body oncontextmenu = "거짓 반환;"

0

방금 사이트를 방문했는데 정말 귀찮았어요.

분명히 마우스 클릭을 비활성화하는 몇 가지 방법이 있습니다.

1)

<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
function disableclick(event)
{
  if(event.button==2)
   {
     alert(status);
     return false;    
   }
}
</script>

<body oncontextmenu="return false">

...

이 경우 개발 도구에서해야 할 일은 다음과 같습니다.

document.removeEventListener("onmousedown",disableclick);
document.oncontextmenu = function(){}

2)

콘텐츠 래퍼로 플래시 사용-스크린 샷을 찍는 것 외에는 해결책이 없습니다.

삼)

일부 사이트는 오른쪽 클릭-> 이미지를 다른 이름으로 저장하여 이미지 다운로드를 방지하려고합니다.

그래서 그들이하는 일은 다음과 같습니다.

<div style="background-image: url(YourImage.jpg);">
   <img src="transparent.gif"/>
</div>

화면의 전체 너비와 높이에 뿌려지는 투명한 이미지입니다. 요소 검사기로 이동하여 div를 찾아 삭제하면됩니다.

제 경우에는 # 1이 트릭을했습니다.


0

이 문제를 해결 한 방법은 페이지에서 이벤트 리스너를 삭제하는 것입니다. 그런 다음 텍스트를 복사하여 선택한 프로세서에 붙여 넣을 수있었습니다.


0

현재 페이지에 텍스트 또는 텍스트 영역 입력이있는 경우이 입력을 클릭 한 다음 (텍스트를 입력하려는 것처럼) 마우스 오른쪽 버튼을 클릭 하고 ' 요소 검사 '를 선택 합니다.



0

페이지로 이동하기 전에 검사 모드를 엽니 다. 작동했습니다.


-1

내가 찾은 가장 쉬운 방법은 읽기 모드 (Safari, Firefox 등과 같은 읽기 모드를 지원하는 브라우저)에서 웹 페이지를 연 다음 평소대로 복사하는 것입니다.


-3

F12를 누르기 만하면됩니다.

소스로 이동

거기에서 Enable right click 을 찾을 수 있습니다 . 그것을 클릭하십시오.

이 아래에서 web_accessible_resource 를 찾을 수 있습니다 .

이것을 열면 index.js 를 찾을 수 있습니다.

Ctrl + F를 누르고 disabelRightClick을 검색 하십시오 . 거기에서 찾을 수 있습니다

        var disableRightClick = false;  

이 줄. 이 줄을

        var disableRightClick = true;

Ctrl + s를 누르기 만하면됩니다.

!! 끝난. 이제 오른쪽 클릭이 활성화됩니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.