Нашла в интернете довольно хороший скрипт, который помогает защитить контент от копипаста. Конечно защита примитивная, но, как показывает практика очень помогает в случае такого же примитивного копипаста "юкоз-юзерами" (и не только). Скрипт хорош тем, что запрещает только лишь выделение мышью (а значит по мнению браузера просто нечего копипастить), все остальные функции сайта (кнопки, выделение текста в полях форм) работают как обычно. Сам код скрипта:
Код вставляется перед закрывающим тегом /head. Перед использованием обязательно сделайте резервную копию изменяемого. Скрипт проверен во всех самых популярных браузерах (Firefox 4 и 5, Opera, Google Chrome, Safari и даже в IE9.0), на CMS Joomla 1.5 и DLE 9.2. Возможно кому-то пригодится.
Код |
---|
<sc ript type="text/javascript"> 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(); } 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 == 'A'.charCodeAt(0)) // 'A'.charCodeAt(0) можно заменить на 65 { removeSelection(); if (event.preventDefault) event.preventDefault(); else event.returnValue = false; } } 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); }); addHandler(element, 'mouseup', function(){ if (preventSelection) removeSelection(); preventSelection = false; }); addHandler(element, 'keydown', killCtrlA); addHandler(element, 'keyup', killCtrlA); } preventSelection(document); </script> |
Код вставляется перед закрывающим тегом /head. Перед использованием обязательно сделайте резервную копию изменяемого. Скрипт проверен во всех самых популярных браузерах (Firefox 4 и 5, Opera, Google Chrome, Safari и даже в IE9.0), на CMS Joomla 1.5 и DLE 9.2. Возможно кому-то пригодится.