Как снова включить правый щелчок, чтобы я мог проверять элементы HTML в Chrome?
Я просматриваю веб-страницу, которая перезаписала кнопку правой кнопки мыши, чтобы отобразить свой собственный HTML-элемент popup.
Это не позволяет мне использовать инструменты разработчика Chrome для проверки элементов.
Кто-нибудь знает фрагмент JavaScript, который я мог бы добавить из консоли Chrome
для повторного включения щелчка правой кнопкой мыши?
Я могу сломать существующую функциональность "правого щелчка", чтобы легко находить элементы HTML.
Спасибо.
Ответы
Ответ 1
Если они только что изменили обработчик oncontextmenu
(это самый простой способ сделать это), вы можете удалить их переопределение таким образом:
window.oncontextmenu = null;
В противном случае, если он привязан к отдельным элементам, вы можете получить все элементы страницы, а затем удалить обработчик на каждом из них:
var elements = document.getElementsByTagName("*");
for(var id = 0; id < elements.length; ++id) { elements[id].oncontextmenu = null; }
Или, похоже, вы можете отключить такие скрипты; через расширение в Chrome или в Firefox - в расширенном поле для параметров javascript отключите ' Отключить или заменить контекстные меню.
Ответ 2
Самое простое - открыть инструменты dev, нажав Cmd + Opt + я (Mac) или F12 (ПК). Затем вы можете использовать поиск (увеличительное стекло, вверху слева на панели инструментов dev tools), чтобы выбрать элемент.
Ответ 3
Протестировано в Chrome 60.0.3112.78.
Некоторые из вышеперечисленных методов работают, но самый простой на мой взгляд это:
-
Открыть инструменты разработчика (Shift + Control + i).
-
Выберите вкладку "Элементы", а затем вкладку "Прослушиватели событий".
-
Наведите указатель мыши на элементы/слушателя. Появится кнопка "Удалить".
-
Нажмите "Удалить".
Например, смотрите фото.
![Remove event listener]()
Ответ 4
вы можете использовать следующий код для повторного включения мыши правой кнопкой мыши.
document.oncontextmenu = function(){}
и вы можете использовать комбинацию клавиш (Ctrl + Shift + i), чтобы открыть элементы проверки в chrome в ОС Windows.
Ответ 5
Вы можете использовать javascript:void(document.oncontextmenu=null);
откройте консоль браузера и запустите код выше. Он отключит блокировку правой кнопки мыши
Ответ 6
Еще один возможный способ, когда функция блокировки выполняется с помощью jquery, используйте:
$(document).unbind();
Он очистит все события onmousedown и contextmenu, связанные динамически, которые не могут быть стерты с помощью document.contextmenu = null; и др.
Ответ 7
Этот букмарлет работает на сайтах Google/Youtube по состоянию на август 2019 года (проверено в 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();
Ответ 8
Привет у меня есть более короткая версия. это так же, как лучший ответ. (работает на Chrome 74.03)
document.querySelectorAll('*').forEach(e => e.oncontextmenu = null)
Ответ 9
Отключение "НАСТРОЙКИ > КОНФИДЕНЦИАЛЬНОСТЬ > не разрешает JavaScript" в Chrome позволит использовать функцию правого щелчка и разрешить работу Firebug Console; но также отключит все другие коды JavaScript.
Правильный способ сделать это - отключить только конкретный JavaScript; ищет любую из следующих строк кода:
- Функция disableclick
- Функция click... return false;
- body oncontextmenu = "return false;"
Ответ 10
Я только что посетил этот сайт, и он действительно прослушивал меня,
очевидно, есть несколько способов отключить щелчок мышью:
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)
некоторые сайты хотят предотвратить загрузку изображений с помощью правого клика → сохранить изображение как
так что они делают это:
<div style="background-image: url(YourImage.jpg);">
<img src="transparent.gif"/>
</div>
который является прозрачным изображением, растягивающим всю ширину и высоту экрана, все, что вам нужно сделать, это перейти к инспектору элементов и найти div и удалить его.
В моем случае # 1 сделал трюк
Ответ 11
Как я решил, это удалить прослушиватели событий на странице. После этого я смог скопировать текст и вставить его в мой процессор по выбору.
Ответ 12
Самый простой способ, который я нашел, - это открыть веб-страницу в режиме чтения (браузер, поддерживающий режим чтения, такой как Safari, Firefox и т.д.), А затем скопировать как обычно.
Ответ 13
Я использовал решение @Chema и добавил сброс настроек pointer-events
и user-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();
Ответ 14
Просто Нажмите F12
Перейдите в Источники
Там вы найдете Включить правый клик. Нажмите на нее.
В этом разделе вы найдете web_accessible_resource.
Откройте его, вы найдете index.js.
Нажмите Ctrl + F и найдите disabelRightClick. Там вы найдете
var disableRightClick = false;
эту строку. Замените эту строку на
var disableRightClick = true;
Просто нажмите Ctrl + s
!! Готово. Теперь ваш правый щелчок включен!