Постоянная проблема, между реальными писателями статей, и просто тупыми чайниками которые копируют, наносят вред ресурсам которые жили и будут жить так как являются или автором или хорошем писателем статей, а новичок, чайник после какого то время забрасывает сайт так как он ему не интересен потому что нет посетителя, нет заработка, но этот лох совершено не беспокоится что он убивает чей то труд, тем что уже скопировал, а потом выкинул.
Я считаю что таких разводил мусора в интернете надо к стене ставить и жестоко расстреливать, что бы учились за собой убирать свое копирование и не портить. Глупые школьники увидев сайт с большим посвящением, начинают копировать все с него и подрожать ему.. в итоге у крупных порталов более 1000 сателлитов чужих, нагло скопированных и заброшенных в итоге как всегда. В итоге о том какой человек в юном возрасте безалаберный можно говорить долго и нудно, но все же нужно к чему то приходить и искать все новые пути защиты контента вашего ресурса, если же конечно же он уникальный, если же нет, то вам этот скрипт не к чему так как у вас не кто и не придет его копировать потому что его навалом на других сайтах.
Внимание, скрипт защищает только от кликов а не от выделения, если же хотите закрыть и выделение то необходимо добавить еще скрипт.
Установка: Копируем и вставляем его в <head>******</head> на странице где хотим защитить контент.
Code
<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>
<script language=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);
});
// Исключаем dblclick
// если вешать функцию не на событие dblclick, можно избежать
// временное выделение текста в некоторых браузерах
addHandler(element, 'mouseup', function(){
if (preventSelection)
removeSelection();
preventSelection = false;
});
// Исключаем ctrl+A
// скорей всего это и не надо, к тому же есть подозрение
// что в случае все же такой необходимости функцию нужно
// вешать один раз и на document, а не на элемент
addHandler(element, 'keydown', killCtrlA);
addHandler(element, 'keyup', killCtrlA);
}
</script>