Иногда бывают такие ситуации, когда нужно запретить выделение контента с какой-либо страницы. Снизу будут представлены несколько вариантов, которые многим пригодятся. Но для подготовленного пользователя не составит труда вытащить данный материал со страницы.
Способ №1:
Использование JavaScript:
<script language=JavaScript> document.oncontextmenu=new Function("return false;") </script>
Способ №2:
Добавление следующего в тэг <body>:
<body oncontextmenu="return false">
Способ №3 (запрет копирование текста):
Также с добавлением в тэг <body>:
<body oncontextmenu="return false" oncopy="return false;" oncontextmenu="return false" onselectstart="return false;">
Способ №4 от @Maiden8
Все что от Вас требуется - это разместить данный код между тегами <head></head>:
Запрещает ПКМ и выводит сообщение:
<script language=JavaScript> <!-- var message="Правый клик запрещен!"; /////////////////////////////////// function clickIE4(){ if (event.button==2){ alert(message); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ alert(message); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("alert(message);return false") // --> </script>
Второй запрещает выделение текста и сочетания Ctrl + A и Ctrl + U и Ctrl + S:
<script> //запрещает выделение мышкой и комбинации клавиш Ctrl + A и Ctrl + U и Ctrl + S function preventSelection(element){ var preventSelection = false; function addHandler(element, event, handler){ if (element.attachEvent) element.attachEvent('on' + event, handler); else if (element.addEventListener) element.addEventListener(event, handler, false); } function removeSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) document.selection.clear(); } //запрещаем выделять текст мышкой addHandler(element, 'mousemove', function(){ if(preventSelection) removeSelection(); }); addHandler(element, 'mousedown', function(event){ var event = event || window.event; var sender = event.target || event.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i) ;}); //запрещаем нажатие клавищ Ctrl + A и Ctrl + U и Ctrl + S function killCtrlA(event){ var event = event || window.event; var sender = event.target || event.srcElement; if (sender.tagName.match(/INPUT|TEXTAREA/i)) return; var key = event.keyCode || event.which; if ((event.ctrlKey && key == 'U'.charCodeAt(0)) || (event.ctrlKey && key == 'A'.charCodeAt(0)) || (event.ctrlKey && key == 'S'.charCodeAt(0))) // 'A'.charCodeAt(0) можно заменить на 65 { removeSelection(); if (event.preventDefault) event.preventDefault(); else event.returnValue = false;}} addHandler(element, 'keydown', killCtrlA); addHandler(element, 'keyup', killCtrlA); } preventSelection(document); </script>
Вот и все. Это бредовая затея, я в курсе, но видел пару подобных вопросов по форумным движкам.
Рекомендованные комментарии
Нет комментариев для отображения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас