Ich betrachte eine Webseite, die die Rechtsklick-Schaltfläche überschrieben hat, um ein eigenes Popup-HTML-Element anzuzeigen.
Dies hindert mich daran, Chrome Developer Tools zum Überprüfen von Elementen zu verwenden.
Kennt jemand ein JavaScript-Snippet, das ich aus der Chrome-Konsole einfügen könnte, um den Rechtsklick wieder zu aktivieren?
Ich bin in Ordnung, die vorhandene 'Rechtsklick'-Funktionalität zu brechen, um die HTML-Elemente einfach überprüfen zu können.
Vielen Dank.
Antworten:
Wenn sie gerade den
oncontextmenu
Handler geändert haben (was der einfachste Weg ist, dies zu tun), können Sie ihre Überschreibung folgendermaßen entfernen:window.oncontextmenu = null;
Andernfalls können Sie, wenn es an einzelne Elemente angehängt ist, alle Elemente der Seite abrufen und dann den Handler für jedes Element entfernen:
var elements = document.getElementsByTagName("*"); for(var id = 0; id < elements.length; ++id) { elements[id].oncontextmenu = null; }
Oder Sie können solche Skripte anscheinend deaktivieren. über eine Erweiterung in Chrome oder eine Option in Firefox - deaktivieren Sie im erweiterten Feld für Javascript-Optionen die Option "Kontextmenüs deaktivieren oder ersetzen".
quelle
Getestet in Chrome 60.0.3112.78.
Einige der oben genannten Methoden funktionieren, aber meiner Meinung nach ist die einfachste:
Öffnen Sie die Entwicklungswerkzeuge (Umschalt + Strg + i).
Wählen Sie die Registerkarte "Elemente" und dann die Registerkarte "Ereignis-Listener".
Bewegen Sie den Mauszeiger über die Elemente / den Listener. Eine Schaltfläche "Entfernen" wird angezeigt.
Klicken Sie auf "Entfernen".
ZB siehe Foto.
quelle
Am einfachsten öffnen Sie die Entwicklungswerkzeuge, indem Sie Cmd + Opt + I (Mac) oder F12 (PC) drücken. Sie können dann die Suche (Lupe, oben links in der Symbolleiste der Entwicklungswerkzeuge) verwenden, um das Element auszuwählen.
quelle
Dieses Bookmarlet funktioniert ab August 2019 auf Google-Websites / Youtube (getestet in Chrome und 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();
Setzen Sie bei lästigeren Websites aggressiv auf true (dies deaktiviert die meisten Ereignishandler und damit die Interaktion mit der Seite):
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();
quelle
Sie können den folgenden Code verwenden, um den Mausklick mit der rechten Maustaste wieder zu aktivieren.
document.oncontextmenu = function(){}
und Sie können die Tastenkombination (Strg + Umschalt + i) verwenden, um Inspektionselemente in Chrome unter Windows zu öffnen.
quelle
Ich baute auf der @ Chema-Lösung auf und fügte das Zurücksetzen
pointer-events
und hinzuuser-select
. Wenn sienone
für ein Bild festgelegt sind, wird durch Klicken mit der rechten Maustaste nicht das Kontextmenü für das Bild mit Optionen zum Anzeigen oder Speichern aufgerufen.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();
quelle
Sie können die
javascript:void(document.oncontextmenu=null);
offene Browserkonsole verwenden und den obigen Code ausführen. Die Blockierung der rechten Maustaste wird deaktiviertquelle
Eine andere Möglichkeit, wenn die Blockierungsfunktion mit jquery ausgeführt wird, ist:
$(document).unbind();
Es werden alle dynamisch zugeordneten Ereignisse für das Herunterfahren und das Kontextmenü gelöscht, die nicht mit document.contextmenu = null gelöscht werden können. etc.
quelle
$(document).bind("contextmenu",function(e){if(!$('#easyy').length)e.preventDefault();});
Hallo, ich habe eine kürzere Version. Dies entspricht der besten Antwort. (es funktioniert auf Chrom 74.03)
document.querySelectorAll('*').forEach(e => e.oncontextmenu = null)
quelle
Durch Deaktivieren von "EINSTELLUNGEN> DATENSCHUTZ> JavaScript nicht zulassen" in Chrome wird die Rechtsklickfunktion aktiviert und die Firebug-Konsole funktioniert. deaktiviert aber auch alle anderen JavaScript-Codes.
Der richtige Weg, dies zu tun, besteht darin, nur das spezifische JavaScript zu deaktivieren. Suchen Sie nach einer der folgenden Codezeilen:
quelle
Ich habe gerade diese Seite besucht und es hat mich wirklich nervt,
Anscheinend gibt es mehrere Möglichkeiten, den Mausklick zu deaktivieren:
1)
<script language="javascript"> document.onmousedown=disableclick; status="Right Click Disabled"; function disableclick(event) { if(event.button==2) { alert(status); return false; } } </script>
und
<body oncontextmenu="return false">
...
In diesem Fall müssen Sie in den Entwicklungswerkzeugen Folgendes tun:
document.removeEventListener("onmousedown",disableclick); document.oncontextmenu = function(){}
2)
Verwenden von Flash als Content-Wrapper - hier keine Lösung außer einem Screenshot
3)
Einige Websites möchten verhindern, dass Bilder per Rechtsklick heruntergeladen werden -> Bild speichern unter
Also sagen sie Folgendes:
<div style="background-image: url(YourImage.jpg);"> <img src="transparent.gif"/> </div>
Dies ist ein transparentes Bild, das sich über die gesamte Breite und Höhe des Bildschirms erstreckt. Sie müssen lediglich zum Elementinspektor gehen, das Div suchen und es löschen.
In meinem Fall hat # 1 den Trick gemacht
quelle
Die Art und Weise, wie ich dies gelöst habe, war das Löschen der Ereignis-Listener auf der Seite. Danach konnte ich den Text kopieren und in den Prozessor Ihrer Wahl einfügen.
quelle
Wenn die Seite, auf der Sie sich befinden, eine Text- oder Textbereichseingabe enthält , klicken Sie in diese Eingabe (als ob Sie Text eingeben möchten), klicken Sie mit der rechten Maustaste und wählen Sie " Element überprüfen ".
quelle
Ganz links in der Symbolleiste der Chrome Developer Tools befindet sich eine Schaltfläche, mit der Sie ein zu prüfendes Element auswählen können, unabhängig von den Kontextmenü-Handlern. Es sieht aus wie ein Quadrat mit einem Pfeil in der Mitte .
quelle
Der einfachste Weg, den ich gefunden habe, besteht darin, die Webseite im Lesemodus (Browser, der den Lesemodus wie Safari, Firefox usw. unterstützt) zu öffnen und dann wie gewohnt zu kopieren
quelle
Drücken Sie einfach F12
Gehen Sie zu Quellen
Dort finden Sie Rechtsklick aktivieren . Klick es an.
Darunter finden Sie web_accessible_resource .
Öffnen Sie es in diesem finden Sie index.js .
Drücken Sie Strg + F und Suche nach disabelRightClick . Dort finden Sie
var disableRightClick = false;
diese Linie. Ersetzen Sie diese Zeile durch
var disableRightClick = true;
Drücken Sie einfach Strg + s
!! Erledigt. Jetzt ist Ihr Rechtsklick aktiviert !!
quelle