Пользовательский скрипт для обхода сайтов, которые отключают щелчок правой кнопкой мыши в браузере?

2372
Community

Я использую веб-сайт, который использует следующий код в своем html-источнике (как обсуждено здесь при переполнении стека), как способ отключить щелчок правой кнопкой мыши на веб-странице:

<body oncontextmenu="return false;"> 

Я предполагаю, что самый простой способ навсегда и автоматически его обойти (используя Chrome или Firefox) - без полного отключения javascript - это создать простой пользовательский скрипт для удаления этой строки HTML-кода со страницы (как это подтверждают инструменты разработчика, подтверждающие это). снимает ограничение), поэтому в пользовательском сценарии он должен заменить эту строку:

 oncontextmenu="return false;" 

ни с чем - без символов, как его замена.

Является ли это лучшим способом обойти это ограничение, не отключая полностью javascript (включая другие действительно полезные сценарии в домене), и если да, то какой будет код для этого?

4
большинство браузеров должны иметь возможность блокировать переопределение контекстного меню (в FF оно, по-видимому, находится в `about: config`` dom.event.contextmenu.enabled`) ratchet freak 10 лет назад 1
Обратите внимание: для этого эффекта необходимо установить значение false, а не (по умолчанию?) Значение true. 10 лет назад 0

1 ответ на вопрос

1
Brock Adams

In Firefox, open about:config and set dom.event.contextmenu.enabled to false. That should take care of it for all websites, but it also disables some right-click features that a very few websites add.

Otherwise, the userscript for this particular website appears to be dirt simple. Here's the complete script:

// ==UserScript== // @name _Stop contextmenu vandalism // @include http://YOUR_SERVER.COM/YOUR_PATH/* // ==/UserScript== document.body.removeAttribute ("oncontextmenu"); 

Just adjust YOUR_SERVER.COM/YOUR_PATH as needed.

Спасибо, это все работает. Имейте в виду, я должен был создать свой собственный код пользователя и точно вставить его (настройка строки @include), пришлось сделать новый в Firefox, чтобы получить строки, которые, кажется, заставляли его работать, но важная строка, которую вы предоставили , благодарю вас! 10 лет назад 0
По какой-то причине, после перехода с Windows на Mac (Mavericks), и ничего необычного с точки зрения версии Chrome или чего-либо еще в программном отношении, он не работает в Chrome моего Mac, как это было в Windows. Тем не менее, этот вид сценария пришел на помощь, и он работает с такими более полными строками: http://userscripts.org/scripts/review/384729 10 лет назад 0
Дальнейшее обновление: мне также нужно было пройти блок выделения текста определенного сайта, и я сначала пытался дурачиться вручную, но к концу я обнаружил, что этот сценарий до сих пор справлялся со мной гладко: http : //userscripts.org/scripts/review/164646 10 лет назад 0
Некоторые крупные сайты, такие как Mega и OneDrive, используют свое собственное контекстное меню. user598527 7 лет назад 0

Похожие вопросы