如何重新启用右键单击以便我可以检查Chrome中的HTML元素?

时间:2014-01-24 14:27:53

标签: javascript google-chrome

我正在查看覆盖右键单击按钮的网页,以便显示自己的弹出HTML元素。

这使我无法使用Chrome开发者工具检查元素。

是否有人知道我可以从Chrome控制台注入的JavaScript代码段 重新启用右键单击?

我可以打破现有的“右键单击”功能,以便能够轻松检查HTML元素。

感谢。

18 个答案:

答案 0 :(得分:48)

如果他们刚刚更改了oncontextmenu处理程序(这是最简单的方法),那么你可以删除它们的覆盖:

window.oncontextmenu = null;

否则,如果它附加到单个元素,您可以获取所有页面的元素,然后删除每个元素上的处理程序:

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

或者,似乎你可以关闭这样的脚本; via an extension in Chromeoption in Firefox - 在javascript选项的高级框中,关闭“禁用或替换上下文菜单”。

答案 1 :(得分:20)

最简单的方法是按Cmd + Opt + I(Mac)或F12(PC)打开开发工具。然后,您可以使用搜索(放大镜,开发工具工具栏左上角)来选择元素。

答案 2 :(得分:16)

在Chrome 60.0.3112.78中测试。

上述一些方法有效,但我认为最简单的方法是:

  1. 打开开发工具(Shift + Control + i)。

  2. 选择&#34; Elements&#34;选项卡,然后是&#34;事件监听器&#34;标签

  3. 将鼠标悬停在元素/侦听器上。 A&#34;删除&#34;按钮将显示。

  4. 点击&#34;删除&#34;。

  5. E.g。见照片。

    Remove event listener

答案 3 :(得分:12)

您可以使用以下代码重新启用鼠标右键单击。

document.oncontextmenu = function(){}

您可以使用快捷键(Ctrl + Shift + i)在Windows操作系统中打开chrome中的检查元素。

答案 4 :(得分:7)

您可以使用javascript:void(document.oncontextmenu=null); 打开浏览器控制台并运行上面的代码。它将关闭鼠标右键的阻止

答案 5 :(得分:5)

另一种可能的方法是,当使用jquery创建阻塞函数时,使用:

$(document).unbind();

它将清除动态归因的所有onmousedown和contextmenu事件,这些事件不能用document.contextmenu = null擦除;等

答案 6 :(得分:1)

我基于@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();

答案 7 :(得分:1)

如果其他注释都不起作用,就这样做,打开控制台行命令并输入:

document.oncontextmenu = null;

答案 8 :(得分:0)

我刚刚访问了this网站,它确实让我感到烦恼,

显然有几种方法可以禁用鼠标点击:

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)

使用flash作为内容包装器 - 除了截屏之外没有解决方案

3)

某些网站希望阻止通过右键点击下载图片 - &gt;将图像另存为

所以他们做的就是这个:

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

这是一个在屏幕的整个宽度和高度上展开的透明图像,您需要做的就是转到元素检查器并找到div并将其删除。

在我的情况下#1做了伎俩

答案 9 :(得分:0)

只需按F12

转到来源

在那里你会找到启用右键单击。点击它。

在此下,您会找到 web_accessible_resource

在此打开它你会找到 index.js

Ctrl + F 并搜索 disabelRightClick 。在那里你会找到

        var disableRightClick = false;  

这一行。用

替换此行
        var disableRightClick = true;

只需按 Ctrl + s

即可

!!完成。现在您的右键单击已启用!!

答案 10 :(得分:0)

我解决这个问题的方法是删除页面上的事件监听器。在我这样做之后,我能够复制文本并将其粘贴到我选择的处理器中。

答案 11 :(得分:0)

在Chrome中禁用“设置&gt;隐私&gt;不允许使用JavaScript”将启用右键单击功能并允许Firebug控制台正常工作;但也会禁用所有其他JavaScript代码。

执行此操作的正确方法是仅禁用特定的JavaScript;寻找以下任何一行代码:

  • 功能disableclick
  • 功能点击...返回false;
  • body oncontextmenu =“return false;”

答案 12 :(得分:0)

我发现最简单的方法是在“阅读”模式(支持Safari,Firefox等阅读模式的浏览器)中打开网页,然后照常复制

答案 13 :(得分:0)

嗨,我有一个较短的版本。这与最佳答案相同。 (适用于Chrome 74.03)

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

答案 14 :(得分:0)

此手册自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();

对于peskier网站,将“积极”设置/传递为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 :(得分:0)

如果您所在的页面上有文本 textarea 输入,请单击此输入(就像您要输入文本一样),然后右键单击,然后选择“ 检查元素”。

答案 16 :(得分:0)

在Chrome开发者工具栏的最左侧,有一个按钮,可让您选择要检查的项目,而与上下文菜单处理程序无关。看起来像square with arrow pointing to the center

答案 17 :(得分:0)

在导航到页面之前打开检查模式。 成功了。呵呵