Задать вопрос

Можно ли с помощью JavaScript удалить пункт контекстного меню браузера?

Приветствую

Всем нам знакомо контекстное меню браузера – то меню, которое появляется при нажатии правой кнопки мыши. В этом меню есть разные пункты: копировать, сохранить, назад, просмотреть код и пр. Можно-ли средствами JavaScript удалить некоторые пункты меню или сделать их неактивными для всех пользователей, посещающих страницу с этим JS? Если – да, то как? Конкретные примеры или готовые скрипты приветствуются.
  • Вопрос задан
  • 1766 просмотров
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Изменить это контекстное меню просто так нельзя. В том же хроме (для примера) для работы с ним нужны соответствующие права. Их можно дать расширению для браузера, но простой странице - нет. Аттрибут contextmenu, добавленный в html5 позволяет только добавлять туда свои пункты, но не удалять. Да и работает от только в Firefox (пример). У вас остается только вариант, предложенный Дмитрий - запретить это меню и создать свое. Но ничто не помешает любопытному пользователю посмотреть ваш код или ресурсы, которые вы подгружаете.

P.S.: От одной мысли, что страница начнет изменять поведение моего браузера в сторону уменьшения функциональности, возникает желание взять клавиатуру и постучать автору по голове) Или написать скрипт, который перехватит перехват моего контекстного меню и вернет все назад
Ответ написан
Комментировать
thewind
@thewind
php программист, front / backend developer
Думаю, нет. Гораздо проше вообще запретить такое меню (оно может быть разным у всех / в разных браузерах) и отрисовать своё - татих примеров полно.
Ответ написан
NeiroNx
@NeiroNx
Программист
Да все команды его продублированны в верхнем меню. Я видел много сайтов с отключенными меню, но проблем скопировать и просмотреть код это не вызывало.
Ответ написан
Комментировать
VGrabko
@VGrabko
Golang, Php, Js
Можно же просто повешать онклик на body который отловит клик правой кнопкой мыши и вернёт что то вроде return false;
Ответ написан
den_golub
@den_golub
Пользователь
Пользователь в большинстве своем (не рассматриваем > 40) знает что такое hot-key. Соответственно удаление меню ничего не решит. Да и онклик на правую кнопку тоже. Либо действительно делать как предложил Дмитрий. Либо проводить серьезную работу по отслеживанию всех возможных действий пользователя.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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