¿Cómo volver a habilitar el clic derecho para que pueda inspeccionar elementos HTML en Chrome?

84

Estoy viendo una página web que ha sobrescrito el botón de clic derecho para mostrar su propio elemento HTML emergente.

Esto me impide utilizar Chrome Developer Tools para inspeccionar elementos.

¿Alguien sabe un fragmento de JavaScript que podría inyectar desde la consola de Chrome para volver a habilitar el clic derecho?

Estoy de acuerdo en romper la funcionalidad existente de 'clic derecho', para poder inspeccionar los elementos HTML fácilmente.

Gracias.

Zo72
fuente
si usa firebug para firefox, aún puede resaltar elementos con el mouse ... Sé que significa usar Firefox, pero podría ser útil.
Joshua Smickus
@Teemu Firebug Lite está disponible en Chrome. Sin embargo, no estoy seguro de por qué necesitaría usarlo sobre las herramientas predeterminadas.
James Donnelly
1
@JoshSmickus La pregunta está etiquetada con [google-chrome], también OP pregunta cómo usar las herramientas de desarrollo de Chrome para inspeccionar elementos.
Teemu

Respuestas:

73

Si acaban de cambiar el oncontextmenucontrolador (que es la forma más sencilla de hacerlo), puede eliminar su anulación de la siguiente manera:

window.oncontextmenu = null;

De lo contrario, si está adjunto a elementos individuales, puede obtener todos los elementos de la página y luego eliminar el controlador en cada uno:

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

O parece que puede desactivar esos scripts; a través de una extensión en Chrome o una opción en Firefox : en el cuadro avanzado de opciones de JavaScript, desactive 'Deshabilitar o reemplazar menús contextuales'

Phil H
fuente
3
Creo que estás en el camino correcto ... sin embargo, acabo de probarlo y no funciona ...
Zo72
1
Luego te sugiero que encuentres el mecanismo que están usando y lo publiques aquí, para que podamos ver cómo eliminarlo. Es más probable que la extensión funcione.
Phil H
Funciona y también tenga en cuenta que onselectstart podría volver a habilitar el resaltado
Kelvin Ng
1
¿Cómo puedo habilitar el "clic izquierdo"?
GorvGoyl
1
Presioné F12, luego usé la consola y su segundo script funcionó muy bien, gracias
jmdon
34

Probado en Chrome 60.0.3112.78.

Algunos de los métodos anteriores funcionan, pero en mi opinión, el más fácil es:

  1. Abra las herramientas de desarrollo (Mayús + Control + i).

  2. Seleccione la pestaña "Elementos" y luego la pestaña "Oyentes de eventos".

  3. Coloca el cursor sobre los elementos / oyente. Aparecerá un botón "Eliminar".

  4. Haga clic en "Eliminar".

Por ejemplo, ver foto.

Eliminar detector de eventos

Vagelis Prokopiou
fuente
desafortunadamente no funcionó, mi sitio web de destino era ieltsliz.com/ielts-writing-task-1-lessons-and-tips
Omar
@Omar Para este sitio en particular, han trabajado un poco para intentar dejar de copiar. En Chrome, Ctrl + Shift + I mientras está en la barra de URL puede obtener la consola. Pude hacer que la selección y la copia funcionaran bien eliminando todos los oyentes de eventos (seleccione "Ancestros" y elimine todo, hay algunos adicionales en la etiqueta del cuerpo), eliminando la clase "no seleccionable" del cuerpo y cambiando "selección de usuario" a auto en los estilos html.
Lugia101101
22

Lo más fácil de hacer es abrir las herramientas de desarrollo presionando Cmd + Opt + I (Mac) o F12 (PC). Luego puede usar la búsqueda (lupa, arriba a la izquierda en la barra de herramientas de desarrollo) para seleccionar el elemento.

mella
fuente
gracias, pero en esta etapa también me gustaría volver a habilitar los accesorios ... no es una solución alternativa
Zo72
4
o puede hacer Ctrl (Cmd) + Shift + C para abrir directamente la funcionalidad de 'selección de elementos'
Titi
20

Este folleto funciona en sitios de Google / Youtube a partir de agosto de 2019 (probado en Chrome y 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();

Para sitios más molestos, establezca / pase agresivo a verdadero (esto deshabilitará la mayoría de los controladores de eventos y, por lo tanto, deshabilitará la interacción con la página):

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();
Chema
fuente
15

puede usar el siguiente código para volver a habilitar el clic derecho del mouse.

document.oncontextmenu = function(){}

y puede usar la tecla de método abreviado (Ctrl + Shift + i) para abrir inspeccionar elementos en Chrome en el sistema operativo Windows.

shiyani suresh
fuente
1
¡Esto funciona de maravilla! Si tiene que hacer esto a menudo como yo, puede agregarlo como marcador: cree un nuevo marcador y póngalo como URL: javascript: (document.oncontextmenu = function () {}) () Ahora, cada vez que tenga un página que te molesta, simplemente haz clic en el bookmarklet y listo.
nico gawenda
Esta es la mejor respuesta. Muchas gracias.
Ali Hashemi
14

Me basé en la solución @Chema y agregué restablecimiento pointer-eventsy user-select. Si están configurados como nonepara una imagen, al hacer clic con el botón derecho del ratón, no se invoca el menú contextual de la imagen con opciones para verla o guardarla.

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();
Łukasz Nojek
fuente
Esto funcionó mientras que la primera solución no (intentó en una página de grabación de la pantalla de zoom)
plata Elad
7

Puede usar javascript:void(document.oncontextmenu=null); la consola del navegador abierta y ejecutar el código anterior. Desactivará el bloqueo del botón derecho del mouse

Serg
fuente
6

Otra forma posible, cuando la función de bloqueo se realiza con jquery, usa:

$(document).unbind();

Borrará todos los eventos onmousedown y contextmenu atribuidos dinámicamente, que no se pueden borrar con document.contextmenu = null; etc.

jacvalle
fuente
Lo mismo para mí, un código hizo una re-vinculación:$(document).bind("contextmenu",function(e){if(!$('#easyy').length)e.preventDefault();});
Master of Celebration
1

Hola, tengo una versión más corta. esto hace lo mismo que una mejor respuesta. (funciona en Chrome 74.03)

document.querySelectorAll('*').forEach(e => e.oncontextmenu = null)
Yasuhiro Nakayama
fuente
0

Deshabilitar "CONFIGURACIÓN> PRIVACIDAD> no permitir JavaScript" en Chrome habilitará la función de clic derecho y permitirá que la Consola Firebug funcione; pero también desactivará todos los demás códigos JavaScript.

La forma correcta de hacer esto es deshabilitar solo el JavaScript específico; buscando cualquiera de las siguientes líneas de código:

  • Función Disableclick
  • Función clic ... devolver falso;
  • body oncontextmenu = "return false;"
Dinamicore
fuente
0

Acabo de visitar este sitio y realmente me molestó.

aparentemente hay un par de formas de deshabilitar el clic del mouse:

1)

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

y

<body oncontextmenu="return false">

...

en este caso, lo que tendrá que hacer en las herramientas de desarrollo es:

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

2)

usar flash como contenedor de contenido: aquí no hay solución, excepto tomar una captura de pantalla

3)

algunos sitios quieren evitar la descarga de imágenes haciendo clic derecho -> guardar imagen como

entonces lo que hacen es poner esto:

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

que es una imagen transparente que se esparce en todo el ancho y alto de la pantalla, todo lo que necesita hacer es ir al inspector de elementos y encontrar el div y eliminarlo.

En mi caso # 1 hizo el truco

elad plata
fuente
0

La forma en que resolví esto fue eliminar los oyentes de eventos en la página. Después de hacer eso, pude copiar el texto y pegarlo en el procesador de mi elección.

Jeremy
fuente
0

Si la página que está en tiene un texto o área de texto de entrada, haga clic en esta entrada (como si desea introducir texto) a continuación, haga clic derecho y seleccione ' Inspeccionar elemento '.

tno2007
fuente
0

En el extremo izquierdo de la barra de herramientas de las herramientas de desarrollo de Chrome hay un botón que le permite seleccionar un elemento para inspeccionar independientemente de los controladores del menú contextual. Parece un cuadrado con una flecha apuntando hacia el centro .

Achim
fuente
0

Abra el modo de inspección antes de navegar a la página. Funcionó jeje

eeshtox
fuente
-1

La forma más fácil que encontré es abrir la página web en modo de lectura (navegador que admite el modo de lectura como Safari, Firefox, etc.) y luego copiar como de costumbre

Liju John
fuente
-3

Simplemente presione F12

Ir a fuentes

Allí encontrará Habilitar clic derecho . Haz click en eso.

Debajo encontrará web_accessible_resource .

Ábralo en este encontrará index.js .

Presione Ctrl + F y busque disabelRightClick . Allí encontrarás

        var disableRightClick = false;  

esta línea. Reemplaza esta línea con

        var disableRightClick = true;

Simplemente presione Ctrl + s

!! Hecho. ¡Ahora su clic derecho está habilitado!

DUDHATE JAGDISH
fuente