Могу ли я отключить щелчок правой кнопкой мыши на моей веб-странице без использования JavaScript? Я спрашиваю об этом, потому что большинство браузеров позволяют пользователю отключать JavaScript.
Если нет, как я могу использовать JavaScript, чтобы отключить щелчок правой кнопкой мыши?
javascript
Виная Пандей
источник
источник
Ответы:
Вы можете сделать это с помощью JavaScript, добавив обработчик событий для события contextmenu и вызвав
preventDefault()
метод:Это, как говорится: не делай этого.
Зачем? Потому что он не достигает ничего, кроме раздражающих пользователей. Также во многих браузерах есть опция безопасности, которая в любом случае запрещает отключение контекстного меню.
Не уверен, почему ты хочешь. Если из-за неуместного убеждения, что вы можете защитить свой исходный код или изображения таким образом, подумайте еще раз: вы не можете.
источник
oncontextmenu="return false"
на чем-то другом, кроме тела, может иметь смысл, например на холсте.не надо
Просто не надо.
Независимо от того, что вы делаете, вы не можете помешать пользователям иметь полный доступ ко всем битам данных на вашем сайте. Любой код Javascript, который вы кодируете, можно сделать спорным, просто отключив Javascript в браузере (или используя плагин, такой как NoScript). Кроме того, нет никакого способа отключить возможность какого-либо пользователя просто «просматривать источник» или «просматривать информацию о странице» (или использовать wget) для вашего сайта.
Это не стоит усилий. Это на самом деле не сработает. Это сделает ваш сайт активно враждебным к пользователям. Они заметят это и прекратят посещать. В этом нет никакой пользы, только потраченные впустую усилия и потерянный трафик.
Не.
Обновление: Кажется , эта маленькая тема оказалась весьма спорное с течением времени. Тем не менее, я поддерживаю этот ответ на этот вопрос. Иногда правильный ответ - совет, а не буквальный ответ.
Люди, которые сталкиваются с этим вопросом в надежде выяснить, как создавать пользовательские контекстные меню, должны искать в другом месте, например, такие вопросы:
источник
<body oncontextmenu="return false;">
Первоначальный вопрос был о том, как прекратить щелчок правой кнопкой мыши, учитывая, что пользователь может отключить JavaScript : что звучит гнусно и злобно (отсюда и отрицательные ответы) - но все дубликаты перенаправляются сюда, даже если многие из дубликатов просят менее злых целей.
Как, например, использование правой кнопки мыши в играх HTML5. Это может быть сделано с помощью встроенного кода выше, или немного лучше, например:
Но если вы создаете игру, то помните, что при нажатии правой кнопки мыши запускается событие contextmenu, но также и обычные события mousedown и mouseup . Таким образом, вам нужно проверить, какое свойство события, чтобы увидеть, была ли это левая (которая === 1), средняя (которая === 2) или правая (которая === 3) кнопка мыши, которая запускает событие.
Вот пример в jQuery - обратите внимание, что нажатие правой кнопки мыши вызовет три события: событие mousedown, событие contextmenu и событие mouseup.
Поэтому, если вы используете левую и правую кнопки мыши в игре, вам придется выполнить некоторую условную логику в обработчиках мыши.
источник
dom.event.contextmenu.enabled
в Firefox, будут лиmousedown
иmouseup
события по- прежнему срабатывает , даже еслиcontextmenu
нет?Если вам не нужно оповещать пользователя сообщением каждый раз, когда он пытается щелкнуть правой кнопкой мыши, попробуйте добавить это в тег body.
Это заблокирует весь доступ к контекстному меню (не только с правой кнопки мыши, но и с клавиатуры).
Однако, как уже упоминалось в других ответах, добавлять блокировщик правого клика не имеет смысла. Любой, имеющий базовые знания браузера, может просмотреть источник и извлечь нужную информацию.
источник
Если вы являетесь поклонником jquery, используйте это
источник
this
внутри готового события? Почему вы используетеbind
вместоon
? Тьфу ...Во-первых, вы не можете достичь этого, не используя возможности на стороне клиента. Это где javascript работает.
Во-вторых, если вы пытаетесь контролировать то, что конечный пользователь может потреблять с вашего сайта, вам нужно переосмыслить способ отображения этой информации. Изображение имеет общедоступный URL-адрес, который можно получить через HTTP без использования браузера.
Аутентификация может контролировать, кто имеет доступ к каким ресурсам.
Встроенные водяные знаки в изображения могут доказать, что изображение было от конкретного человека / компании.
В конце концов, управление ресурсами - это действительно управление пользователями / гостями.
Первое правило Интернета, если вы не хотите, чтобы оно было принято, не делайте его публичным!
Второе правило Интернета, если вы не хотите, чтобы его взяли, не размещайте его в Интернете!
источник
Если ваша цель состоит в том, чтобы запретить людям загружать ваши изображения, как говорили большинство людей, отключение правого щелчка практически неэффективно.
Предполагая, что вы пытаетесь защитить изображения, альтернативные методы -
Используя флэш-плеер, пользователи не могут загрузить их как таковые, но они могут легко сделать снимок экрана.
Если вы хотите быть более неуклюжим, сделайте изображение фоном div, содержащим прозрачное изображение, а ля
этого будет достаточно для предотвращения случайной кражи ваших изображений (см. пример ниже), но, как и для всех этих методов, тривиально победить с базовым пониманием HTML.
источник
Вы не можете выполнить то, что вы просите, не используя Javascript. Любая другая технология, которую вы можете использовать, может помочь только создать веб-страницу на стороне сервера для отправки в браузер.
Просто нет хорошего решения, и нет периода решения без Javascript.
источник
Если ваша цель состоит в том, чтобы запретить пользователям просто сохранять изображения, вы также можете проверить, является ли выбранная цель изображением, в этом случае отключите только щелчок правой кнопкой мыши. Таким образом, щелчок правой кнопкой мыши может быть использован для других целей. Взято из кода выше:
Это просто убрать самый простой способ сохранения ваших изображений, но это все же можно сделать.
источник
источник
dom.event.contextmenu.enabled
Сделайте это, как показано ниже (это работает и в Firefox):
источник
Поместите этот код в ваш
<head>
тег на вашей странице.Это отключит щелчок правой кнопкой мыши на всей вашей веб-странице, но только при включенном JavaScript.
источник
Я использовал этот код для отключения правой кнопки мыши на любой веб-странице, он работает нормально. Вы можете использовать этот код
источник
Конечно, как и во всех других комментариях здесь, это просто не работает.
Однажды я создал простой Java-апплет для клиента, который заставлял захват изображения с помощью захвата экрана, и вы могли бы рассмотреть подобную технику. Это работало, в пределах ограничений, но я все еще думаю, что это была пустая трата времени.
источник
источник
Попробуй это
источник
Отключить щелчок правой кнопкой мыши на вашей веб-странице очень просто. Есть всего несколько строк кода JavaScript, которые будут выполнять эту работу. Ниже приведен код JavaScript:
В приведенном выше коде я выбрал тег. После того, как вы добавите только три строки кода, он отключит щелчок правой кнопкой мыши на вашей веб-странице.
Источник: Отключить щелчок правой кнопкой мыши, копировать, вырезать на веб-странице с помощью jQuery
источник
источник
Я знаю, что опаздываю, но я хочу сделать некоторые предположения и объяснения для ответа, который я собираюсь дать.
Могу ли я отключить щелчок правой кнопкой мыши
Да, с помощью JavaScript вы можете отключить любое событие, которое происходит, и вы можете сделать это в основном только с помощью javaScript. Как, все что вам нужно это:
Работающее оборудование
Сайт или где-то, с которого вы можете узнать о кодах клавиш. Потому что они тебе понадобятся.
Теперь предположим, что вы хотите заблокировать клавишу ввода, нажмите здесь код:
Для правого клика используйте это:
на месте
event.keyCode
. И вы заблокируете это.Вы правы, браузеры позволяют вам использовать,
JavaScript
а javascript делает всю работу за вас. Вам не нужно ничего настраивать, просто нужен атрибут script в голове.Почему не стоит его отключать?
Основным и быстрым ответом на это будет то, что пользователям это не понравится . Всем нужна свобода, никто, я имею в виду, никто не хочет быть заблокированным или отключенным, несколько минут назад я был на сайте, который заблокировал меня от щелчка правой кнопкой мыши, и я почувствовал почему? Вам нужно защитить свой исходный код? Тогда здесь
ctrl+shift+J
я открылConsole
и теперь я могу пойти вHTML-code
вкладку. Давай, останови меня. Это не добавит никакой слой безопасности в ваше приложение.В правом клике есть множество пользовательских меню, таких как «Копировать», «Вставить», «Поиск в Google» для «текста» (в Chrome) и многое другое. Таким образом, пользователь хотел бы получить простоту доступа вместо того, чтобы запоминать множество сочетаний клавиш. Любой человек может скопировать контекст, сохранить изображение или сделать все, что он захочет.
Браузеры используют навигацию с помощью мыши: некоторые браузеры, такие как Opera используют навигацию с помощью мыши, поэтому, если вы отключите ее, пользователь определенно будет ненавидеть ваш пользовательский интерфейс и сценарии.
Так что это было основным, я собирался написать еще немного о сохранении исходного кода, хе-хе, но пусть это будет ответом на ваш вопрос.
Ссылка на коды клавиш:
Код ключа и кнопки мыши:
http://www.w3schools.com/jsref/event_button.asp
https://developer.mozilla.org/en-US/docs/Web/API/event.button (также будет оценено пользователями).
Почему бы не отключить правый клик:
http://www.sitepoint.com/dont-disable-right-click/
источник
Javascript:
источник
Важное примечание: это зависит от браузера и ОС, чтобы разрешить такое предотвращение или нет!
Должны ли вы сделать это? Нет . Потому что это не помешает пользователю, а просто раздражает его.
Вы можете использовать это? Да . Примеры: в некоторых веб-приложениях, где вы хотите иметь настраиваемое всплывающее меню, в игре, где пользователи могут раздражаться, когда по ошибке щелкают правой кнопкой мыши, и другие случаи.
Chrome (v65) в Ubuntu 16.04 = Вы МОЖЕТЕ отключить щелчок правой кнопкой мыши.
Chrome (v65) в Mac OS 10.11 = Вы НЕ МОЖЕТЕ отключить щелчок правой кнопкой мыши.
Chrome (v65) в Windows 7 = ВЫ НЕ МОЖЕТЕ отключить щелчок правой кнопкой мыши.
Firefox (v41) в Mac OS 10.11 = Вы МОЖЕТЕ отключить щелчок правой кнопкой мыши.
Firefox (v43) в Windows 7 = Вы МОЖЕТЕ отключить щелчок правой кнопкой мыши.
источник
Несколько вещей для рассмотрения:
Плагины браузера, такие как «включить правый клик» в магазине Chrome, существуют по определенной причине, и вы не сможете их обойти. В буквальном смысле НИЧЕГО вы не можете сделать, чтобы люди не загружали ваш контент, поскольку им буквально нужно его скачать, чтобы в любом случае увидеть его в своем браузере; Люди стараются, но всегда рядом.
В общем, если контент не должен быть публичным, не размещайте его в Интернете.
Кроме того, неспособность щелкнуть правой кнопкой мыши является проблемой доступности и во многих случаях равносильна незаконной дискриминации в отношении слепых, инвалидов или пожилых людей. Проверьте свои местные законы, но в США он активно противоречит закону в форме Федерального ADA, поскольку слепые или пожилые люди, которые могут иметь проблемы со зрением, являются юридически защищенным классом.
Таким образом, вместо того, чтобы делать это и тратить много времени и усилий, даже не пытайтесь сделать это. Это может привести к тому, что ваша компания будет подана в суд, или они не пройдут аудит соответствия.
источник
Попробуйте этот код для отключения опции проверки элемента
источник
Используйте эту функцию, чтобы отключить щелчок правой кнопкой мыши. Вы можете отключить щелчок левой кнопкой мыши и коснуться также
checking 1 and 0
соответствующейисточник