Стандартные скрипты защиты от копирования блокируют контекстное меню, F12 и другие функции браузера, что ухудшает пользовательский опыт. Данное решение блокирует только копирование, оставляя все остальные функции нетронутыми.
// Блокировка горячих клавиш копирования
document.addEventListener('keydown', function(e) {
// Ctrl+C (копирование)
if (e.ctrlKey && e.keyCode === 67) {
e.preventDefault();
return false;
}
// Ctrl+A (выделить все)
if (e.ctrlKey && e.keyCode === 65) {
e.preventDefault();
return false;
}
});
// Перехват события копирования и очистка буфера
document.addEventListener('copy', function(e) {
e.clipboardData.setData('text/plain', '');
e.clipboardData.setData('text/html', '');
e.preventDefault();
});
// Блокировка execCommand для копирования
if (typeof document.execCommand !== 'undefined') {
const originalExecCommand = document.execCommand;
document.execCommand = function(command) {
if (command === 'copy' || command === 'cut') {
return false;
}
return originalExecCommand.apply(this, arguments);
};
}
document.addEventListener('selectstart', function(e) {
e.preventDefault();
return false;
});
document.body.style.userSelect = 'none';
Добавьте код в тег <script> на странице или подключите как отдельный JS-файл.
Блокируется: Ctrl+C, Ctrl+A, копирование через буфер обмена
Остается доступным: контекстное меню, F12, печать, сохранение, навигация