В этом блоге вы узнаете, как легко запретить пользователям выполнять эти действия, отключив щелчок правой кнопкой мыши и сочетания клавиш, такие как ctrl + c, ctrl + x, ctrl + u, ctrl + shift + i и f12, используя vanilla JavaScript.
Если вы не знаете, сочетание клавиш ctrl + u используется для просмотра исходных кодов страниц, тогда как ctrl + shift + i и f12 используются для открытия режима разработчика в браузере, который также показывает коды страниц. Итак, вы должны отключить все эти сочетания клавиш, а не только кнопку правой кнопки мыши.
Чтобы отключить щелчок правой кнопкой мыши и сочетания клавиш с помощью ванильного JavaScript, выполните следующие действия в соответствии с вашими потребностями.
Если у вас нет веб-сайта, но вы хотите проверить, как эти коды ограничивают пользователей от выполнения таких действий, вы можете создать файл index.html и вставить указанные исходные коды в свой файл.
HTML КОД:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Disable Copy & Paste JavaScript</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Blanditiis soluta, quam cupiditate quod.</p>
<script>
const disabledKeys = ["c", "C", "x", "J", "u", "I"]; // keys that will be disabled
const showAlert = e => {
e.preventDefault(); // preventing its default behaviour
return alert("Sorry, you can't view or copy source codes this way!");
}
document.addEventListener("contextmenu", e => {
showAlert(e); // calling showAlert() function on mouse right click
});
document.addEventListener("keydown", e => {
// calling showAlert() function, if the pressed key matched to disabled keys
if((e.ctrlKey && disabledKeys.includes(e.key)) || e.key === "F12") {
showAlert(e);
}
});
</script>
</body>
</html>
Для пользователей веб-сайта вы можете вставить указанные коды JavaScript на свой веб-сайт в любом месте.
JAVASCRIPT КОД:
<script>
const disabledKeys = ["c", "C", "x", "J", "u", "I"]; // keys that will be disabled
const showAlert = e => {
e.preventDefault(); // preventing its default behaviour
return alert("Sorry, you can't view or copy source codes this way!");
}
document.addEventListener("contextmenu", e => {
showAlert(e); // calling showAlert() function on mouse right click
});
document.addEventListener("keydown", e => {
// calling showAlert() function, if the pressed key matched to disabled keys
if((e.ctrlKey && disabledKeys.includes(e.key)) || e.key === "F12") {
showAlert(e);
}
});
</script>
В кодах я показал предупреждение, если пользователь пытается скопировать или щелкнуть правой кнопкой мыши. Вы можете удалить это оповещение и показать собственное сообщение. Вот и все, теперь ни пользователи не могут копировать содержимое вашего сайта, ни просматривать исходные коды вашей страницы.
Заключение
Если вы ведете блоги на своем сайте, эти ограничения могут быть вам выгодны. Но помните, блокировка контекстного меню, которое отображается при щелчке правой кнопкой мыши, также блокирует доступ пользователя к другим его функциям, которые предоставляются браузером или расширениями браузера.
Если вам нравится этот блог, не забудьте поделиться им с другими.
