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.
Respuestas:
Si acaban de cambiar el
oncontextmenu
controlador (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'
fuente
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:
Abra las herramientas de desarrollo (Mayús + Control + i).
Seleccione la pestaña "Elementos" y luego la pestaña "Oyentes de eventos".
Coloca el cursor sobre los elementos / oyente. Aparecerá un botón "Eliminar".
Haga clic en "Eliminar".
Por ejemplo, ver foto.
fuente
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.
fuente
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();
fuente
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.
fuente
Me basé en la solución @Chema y agregué restablecimiento
pointer-events
yuser-select
. Si están configurados comonone
para 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();
fuente
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 mousefuente
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.
fuente
$(document).bind("contextmenu",function(e){if(!$('#easyy').length)e.preventDefault();});
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)
fuente
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:
fuente
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
fuente
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.
fuente
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 '.
fuente
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 .
fuente
Abra el modo de inspección antes de navegar a la página. Funcionó jeje
fuente
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
fuente
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!
fuente