Подтвердить что ты не робот

Как снова включить правый щелчок, чтобы я мог проверять элементы HTML в Chrome?

Я просматриваю веб-страницу, которая перезаписала кнопку правой кнопки мыши, чтобы отобразить свой собственный HTML-элемент popup.

Это не позволяет мне использовать инструменты разработчика Chrome для проверки элементов.

Кто-нибудь знает фрагмент JavaScript, который я мог бы добавить из консоли Chrome для повторного включения щелчка правой кнопкой мыши?

Я могу сломать существующую функциональность "правого щелчка", чтобы легко находить элементы HTML.

Спасибо.

4b9b3361

Ответ 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.

Некоторые из вышеперечисленных методов работают, но самый простой на мой взгляд это:

  1. Открыть инструменты разработчика (Shift + Control + i).

  2. Выберите вкладку "Элементы", а затем вкладку "Прослушиватели событий".

  3. Наведите указатель мыши на элементы/слушателя. Появится кнопка "Удалить".

  4. Нажмите "Удалить".

Например, смотрите фото.

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

!! Готово. Теперь ваш правый щелчок включен!