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

05.04.2016 0 Автор Jeff

Некоторые сайты блокируют клик правой кнопкой мышки с помощью JavaScripts или HTML-атрибутов, тем самым мешая запускать меню копирования и быстрого поиска.

Не смотря на то, что блокировка меню правой кнопки мышки встречается достаточно редко — это довольно неудобная ситуация. Вероятно сайты, блокирующие это самое меню считают, что таким образом они могут защитить свой контент от кражи, но отключение контекстного меню на самом деле лишает пользователей множества удобных инструментов.

Вы можете включить контекстное меню на сайте поступив крайне радикально — отключив JavaScript в вашем браузере, после чего выполнить с его контекстом любые манипуляции. Но в большинстве случаем это неудобно, да и функциональность этого и других сайтов будет ограничена.

Мы покажем вам как включить отключенное на сайте контекстное меню, включив правый шелчок мышки на определенном сайте.

Причина — скрипт

Попробуйте, пожалуйста, на этой странице выделить текст и скопировать его в буфер обмена через контекстное меню.

Видите: правая кнопка мыши не реагирует. Всему виной маленькая вставка на JavaScript:

document.addEventListener(‘contextmenu’, event => event.preventDefault());

Я заблокировал контекстное меню на этой странице специально, чтобы Вам не искать пример.

Давайте посмотрим на этот кусочек кода в коде страницы. Т.к. контекстное меню не вызывается, нажмите CTRL + U (или  Option+Command+U, если Mac).

Затем СTRL+F и вводим с клавиатуры nt.p или lt(. Т.е. ищем по маленькому кусочку упомянутого выше скрипта.

Теперь мы знаем врага в лицо.

Выключим JavaScript

Одним из вариантов решения проблемы будет полное выключение JavaScript на странице.

Открываем консоль в панели разработчика (F12), нажимаем ctrl+shift+p (в Chrome под Windows). Речь о командном меню. В появившемся окошке начинаем вбивать «j»<avascript>. Появится подсказка disable javascript. Нажимаем Enter.

Теперь контекстное меню работает. Этот метод, вероятно, наиболее прост и не требует сложных манипуляций. Но вот жить без JavaScript на странице не всегда удобно. И помнить все комбинации клавиш не получается. А иначе как комбинацией клавиш в Chrome, например, в командное меню не попасть.

Поэтому можно попробовать другой метод.

Закроем инструменты разработчика. Для чистоты эксперимента убедимся, что контекстное меню опять не работает.

Включим контекстное меню на сайте с помощью своего JavaScript’а

В то время, как щелчок правой кнопки мышки блокируется с помощью JavaScript, мы его так же с помощью JavaScript и включим.

Ранее для этого на той де странице, на которой контекстное меню заблокировано, нам можно было в адресную строку скопировать и вставить вот такой код:

javascript:void(document.oncontextmenu=null);

Прямо в адресную строку. Но это было ранее. Современные браузеры таких вольностей пользователю не позволяют. Придется либо впечатать эту строку вручную, либо создать закладку. Подробнее смотри здесь. Вероятно, причина в изменении политики безопасности браузеров, т.к. пользователей в интернете стали слишком часто просить вставить в адресную строку исполняемый фрагмент на JavaScript. Соответственно, пользователи бездумно копировали вредоносный код и запускали его со всеми вытекающими последствиями. Поэтому если вы не понимаете, что за команду мы сейчас собираемся выполнить, лучше сначала разберитесь в этом вопросе либо воздержитесь от эксперимента.

Иначе говоря, указанную выше строку кода можно впечатать с клавиатуры. И браузер выполнит скрипт. Либо же можно создать закладку — тоже скрипт выполнится. Т.е. думающим пользователям разработчики браузеров разрешают такую операцию.

Мы создадим закладку.

Теперь на нашей странице мы этой закладкой воспользуемся. Т.е. мы создали букмарклет, поместив в него указанный выше код.

Теперь через меню браузера откроем нашу закладку. Контекстное меню теперь работает.

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

Предложенный выше JavaScript хорош для решения проблемы с контекстным меню сайта. Но не всем. Кому-то может понравиться просто плагин для браузера.

В Chrome мы рекомендуем установить дополнение RightToCopy. Оно позволит так же включить выделение и копирование текста на сайте. На этом функциональность расширения не заканчивается, например оно позволяет удалить текст, вставляемый сайтом в буфер после скопированного текста.

В Firefox попробуйте расширение RightToClick. Это дополнение так же позволяет выделять и копировать текст на сайте если это запрещено. Функциональность этого дополнения немного шире, чем у дополнения Chrome, что традиционно у Firefox.

Ну и конечно, включить заблокированное контекстное меню можно используя более универсальные дополнения, такие как NoScript (Firefox) и ScriptSafe (Chrome). Эти дополнения позволяют контролировать работу скриптов на веб страницах, контролируя доступный им функционал. Т.е. вы можете запросто отключить доступ JavaScript сайта к контекстному меню браузера. Единственный недостаток этих дополнений — требование к пользователю. Разобраться в их настройках несложно, но нужно владеть материалом, в противном случае вы можете случайно отключить полезный функционал сайта.

Вот и все. Теперь отключенная правая кнопка мышки на сайте для вас не проблема, вы знаете как избавиться от этого раздражающего ограничения.