Защита от копирования текста средствами JavaScriptНеприятно, когда ты тратишь несколько часов на то, чтобы написать какую статью, размещаешь ее на своем сайте, а потом она оказывается еще на нескольких ресурсах без указания ссылки на первоисточник. Я уже писал ранее, как защитить контент от воровства. Эти методы не дают стопроцентной гарантии, однако снизить количество подобных случаем помогают. Существуют и другие эффективные средства – защита от копирования текста средствами JavaScript. Использование скриптов помогает затруднить работу копипастерам, заставив их тратить больше времени на копирование контента.
Я собрал в сети несколько скриптов на JavaScript, которые использую на различных своих сайтах. Приведу здесь те, которые применяю чаще всего.
1. Первый скрипт позволяет скопировать текст, но после вставки текста в конце появляется ссылка на источник, например:
Источник: http://sitename.com
© sitename.com
<script type="text/javascript">
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var pagelink = "Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a>© poleshuk.ru"; // В этой строке поменяйте текст на свой
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
newdiv.style.position='absolute';
newdiv.style.left='-99999px';
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout(function() {
body_element.removeChild(newdiv);
},0);
}
document.oncopy = addLink;
</script>
При этом ссылка активная. Текст может быть любым по вашему желанию. Скрипт вам необходимо разместить между тегами <head> и </head>
2. Второй скрипт запрещает выделять текст на сайте для копирования, но дает возможность использовать правую кнопку мышки. Конечно, можно залезть в код страницы и вытащить текст оттуда, но копипастеру потребуется чистить его от различных тегов и перелинковки.
<script language="JavaScript">
document.onselectstart=function(){return false}
document.onmousedown=function(){return false}
</script>
3. Ну и третий, более кардинальный вариант – запретить не только выделять текст на странице, но и пользоваться правой кнопкой мышки.
<script language="JavaScript">
document.onselectstart=function(){return false}
document.oncontextmenu=function(){return false}
document.onmousedown=function(){return false}
</script>