В этом материале приведены известные расширения, скрипты и другие способы разблокировки доступа к контекстному меню веб‑страниц, а также перечислены способы и методы снятия ограничений доступа к меню и к функциям выделения и копирования контента на "огороженных" сайтах.
В этой статье:
Обозначения: [⚓] анонс [©] источник [®] исходник [✻] описание [☰] обзор [1.0] версия [✇] архив [⚒] форк [Ru] форум
Рассмотренные ниже методы и аддоны можно использовать, если вдруг на каком‑то сайте не сработает разблокировка с помощью "Включить ПКМ". Практически, это маловероятно, но, всё же, не исключено… :)
Всегда следует помнить о том, что если вы видите какой-то контент на экране вашего компьютера, значит, он УЖЕ у вас в руках, поэтому и задача сохранения, копирования или использования этого контента иным образом сводится только к выбору наиболее лёгкого и удобного (для вас) способа её реализации. Иными словами – если некий "огороженный" сайт уже показал вам содержимое страницы, получить полный доступ к уже загруженному контенту на вашем собственном компьютере вы можете в любом случае.
Итак, для решения нашей задачи сначала попробуем…
Расширения и скрипты для разблокировки функций ПКМ
…также возможна…
Разблокировка контекстного меню с помощью букмарклетов
- Самый простейший "сниматель" распространённых способов блокировки контекстного меню:
javascript:void oncontextmenu(null);
Этот код снимает практически любую блокировку, сделанную скриптами для вызова контекстного меню.
- Универсальный код разблокировки предложенный на форуме Ru-Board:
javascript:(function(w){var%20arr=['contextmenu','copy','cut','paste','mousedown','mouseup','beforeunload','beforeprint'];for(var%20i=0,x;x=arr[i];i++){if(w['on'+x])w['on'+x]=null;w.addEventListener(x,function(e){e.stopPropagation()},true)};for(var%20j=0,f;f=w.frames[j];j++){try{arguments.callee(f)}catch(e){}}})(window);
Этот код, кроме полноценной разблокировки контекстного меню, также снимает и ограничения на выделение и копирование текста.
…кроме того, в некоторых случаях помогает…
Разблокировка запрета выделения элементов страницы с помощью CSS
- Добавляем для "огороженного" сайта специальный стиль, снимающий запрет на выделение и копирование:
*{-webkit-user-select:auto !important}
Этот стиль предназначен для браузеров на движке Webkit (и совместимых), для других делаем по аналогии…
…помимо всего перечисленного выше, не забываем и про…
Системные способы разблокировки доступа к контекстному меню
- Вызов с клавиатуры в Windows – Shift+F10 или клавиша "контекстное меню" – которая слева от правого Ctrl'а…)
Простейший метод, при этом главное – чтобы фокус был в области страницы (нужно сначала щёлкнуть по ней).
- Отключение скриптов на "огороженных" сайтах – в настройках браузера запрещаем для таких сайтов скрипты.
Можно запретить временно, щёлкнув по значку в омнибоксе (если нужный контент будет при этом доступен).
Также можно использовать любые расширения-блокировщики скриптов (к примеру – рекламорезки и т.п.).
Этот метод можно применять на "особо упёртых" сайтах с периодической проверкой состояния блокировки.
- How to Successfully Right Click Web Pages That Don't Allow Right Clicks – совет для IE8, но суть правильная:
Для разблокировки добавляем сайт в "Ограниченные узлы", что и приведёт к отключению на нём скриптов.
- И ещё один старый трюк (когда-то был найден здесь, ныне отсутствует), не гарантированно, но логика есть:
…Or you could just shift+right-click. Works on almost every site that has disabled it, at least it always has for me on Chrome+Win7.
…если же ваша задача сводится к сохранению или копированию, применяем…
Доступ к контенту через встроенные возможности браузера
Для сохранения или копирования содержимого страницы "огороженного" сайта или отдельных её элементов:
- Можно просто сохранить страницу целиком в любом виде (текст, html и т.д.), используя горячую клавишу Ctrl+S или через меню браузера (aka "бутерброд"), выбрав в нём пункт "Дополнительные инструменты" ⇒ "Сохранить страницу как". После этого вы можете работать с сохранённой копией любым удобным способом.
- Как вариант, можно переключить страницу в "режим чтения" через меню браузера, выбрав в нём пункт* "Сжать страницу". В этом режиме браузер отображает основное содержимое страницы без каких‑либо ограничений на работу с контекстным меню, этого в большинстве случаев достаточно для доступа к контенту. Как и в первом случае, вы также можете сохранить копию такой "облегчённой" страницы.
* Если такой пункт в меню вашего браузера отсутствует, можно попытаться включить его, запуская браузер с ключом --enable-dom-distiller, либо использовать другие способы переключения страницы в режим чтения.
- Также можно использовать сходный по результату вариант с предпросмотром вывода страницы на печать, в окне предпросмотра можно безо всяких помех сохранить или скопировать текст, ссылки и другие элементы страницы. При полностью заблокированном контекстном меню диалог печати можно вызвать по хоткею Ctrl+P или через меню браузера, выбрав в нём пункт "Печать". Кроме собственно копирования нужного вам контента, в этом же диалоге можно также сохранить страницу в PDF‑файл.
- Продвинутые пользователи могут поработать со страницей в консоли Инструментов разработчика, вызвав ёё по хоткеям F12 или Ctrl+Shift+I (или J) либо через меню браузера, выбрав пункт "Дополнительные инструменты" ⇒ "Инструменты разработчика". При этом вы получаете полный доступ* к любому элементу контента, включая все непосредственные ссылки на эти элементы.
* В силу объёмности, вопрос о том, как конкретно использовать содержимое консоли, выходит за рамки настоящей статьи, просто помните ещё и об этой возможности доступа к "типа заблокированному" содержимому.
- Ну и кроме того, для сохранения контента всегда можно сделать обычный экранный скриншот* нужного фрагмента и затем использовать его любым удобным способом.
* Вопрос о том, как именно сделать снимок страницы, выходит за рамки этой статьи, потому как способов "тысячи их есмь", начиная с простого нажатия клавиши PrintScreen… :)
Наконец, вооружившись знаниями и "тулзами", посмотрим…
Примеры сайтов для проверки работоспособности разблокировщиков
Для самостоятельного изучения
Если вы обнаружите какие-либо ошибки в этой статье или если вам известны другие работающие способы решения задачи разблокировки контекста – пожалуйста, не стеснятесь сообщать об этом в комментариях.
|