AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Блокировка правой кнопки мыши

Попробуйте нажать на правую кнопку мыши! Не работает!?. Следующий код обрабатывает событие нажатие на кнопку мыши и вывод сообщения:

<script>
<!--
var 
message="Правая кнопка мыши отключена!";
function 
click(e) {
   if (
document.all) {    // IE
      
if (event.button == 2) {    // Чтобы отключить левую кнопку поставьте цифру 1
          
alert(message);    // чтобы отключить среднюю кнопку поставьте цифру 1
          
return false;}
      }
   if (
document.layers) { // NC
      
if (e.which == 3) {
          
alert(message);
          return 
false;}
      }
}
if (
document.layers)
   {
document.captureEvents(Event.MOUSEDOWN);}
document.onmousedown=click;
document.oncontextmenu=function(e){return false};
//-->
</script>

Запрет нажатия кнопки мыши спасет от совсем обычных пользователей. Но немного продвинуттые смогут выделять текст с левой кнопки мыши или с помощью Ctrl+A и нажимать комбинацию клавиш Ctrl + S (скопировать выделенный текст в буфер обмена). А совсем продвинутые с помощью Ctrl + U смогут просмотреть и скопировать статью через исходный код сайта;

<script>
    //запрещает выделение мышкой и комбинации клавиш Ctrl + A и Ctrl + U и Ctrl + S
    function preventSelection(e){
        var preventSelection = false;
        function addHandler(e, event, handler){
            if (e.attachEvent) e.attachEvent('on' + event, handler);
            else if (e.addEventListener) e.addEventListener(event, handler, false);  }
        function removeSelection(){
            if (window.getSelection) { window.getSelection().removeAllRanges(); }
            else if (document.selection && document.selection.clear)
                document.selection.clear();
        }

        //запрещаем выделять текст мышкой
        addHandler(e, 'mousemove', function(){ if(preventSelection) removeSelection(); });
        addHandler(e, 'mousedown', function(e){ e = e || window.event; var sender = e.target || e.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i) ;});

        //запрещаем нажатие клавищ Ctrl + A и Ctrl + U и Ctrl + S
        function killCtrlA(e){
            e = e || window.e;
            var sender = e.target || e.srcElement;
            if (sender.tagName.match(/INPUT|TEXTAREA/i)) return;
            var key = e.keyCode || e.which;
            if ((e.ctrlKey && key == 'U'.charCodeAt(0)) || (e.ctrlKey && key == 'A'.charCodeAt(0)) || (e.ctrlKey && key == 'S'.charCodeAt(0)))  // 'A'.charCodeAt(0) можно заменить на 65
            { removeSelection();
                if (e.preventDefault) e.preventDefault();
                else e.returnValue = false;}}
        addHandler(e, 'keydown', killCtrlA);
        addHandler(e, 'keyup', killCtrlA);
    }
    preventSelection(document);
</script>

Смотрите также: Блокировка выделения текста на странице


.

© Copyright 2008-2019 by KDG



Rambler's Top100