Воровство контента в интернете – дело хоть и привычное для всех, но не приятное. Владельцы сайтов тратят время и деньги на создание уникальных и интересных материалов, а спустя какое-то время, информация теряет свою уникальность, поскольку воришки контента копируют текст к себе на сайты.
Стопроцентной защиты от воровства контента нет, но существует много способов, которые затрудняют процесс «копипаста». Один из таких способов – добавление ссылки на источник, при копировании куска или всего текста с вашего сайта. Так, выделив интересный абзац или предложение и нажав на кнопку «копировать», в буфере обмена окажется не только текст, но и ссылка на первоисточник. Такой вариант защиты контента, позволяет увеличить популярность сайта и увеличить количество ссылок на ресурс в социальных сетях, форумах и подобных площадках, где люди общаются между собой.
Код добавления ссылки на источник при копировании текста
Чтобы добавить на сайт защиту контента, достаточно добавить в верстку страниц или js-файлы небольшой код. Он будет автоматически отлавливать события, которые совершает пользователь на страницах сайта. И если в какой-то момент текст будет выделен и скопирован, то в буфер обмена будет дописана ссылка на страницу сайта, где в это время находится пользователь.
Ниже приведен код, который отлавливает события и дописывает ссылку в буфер обмена. Этот код работает с библиотекой jQuery, поэтому она должна быть подключена на сайте. Так же для корректной работы, код необходимо подключить на всех страницах, которые будут защищаться от копирования.
$(document).ready(function(){ var ctrlDown = false, // положение клавиши Ctrl // коды клавиш ctrlKey = 17, cmdKey = 91, cKey = 67; // проверка "зажатой" клавиши Ctrl $(document).keydown(function(e) { if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = true; }).keyup(function(e) { if (e.keyCode == ctrlKey || e.keyCode == cmdKey) ctrlDown = false; }); // обновление буфера обмена, при нажатии комбинации клавиш Ctrl + C $(document).keydown(function(e) { if (ctrlDown && e.keyCode == cKey) { editBuffer(); return false; }; }); // обновление буфера обмена, при выборе "Копировать" в контекстном меню $(document).bind('copy', function() { editBuffer(); }); }); // функция для обновления буфера обмена function editBuffer() { var htmlContent = ''; // получение данных userAgent, чтобы проверить браузер var ua = navigator.userAgent; if (ua.search(/MSIE/) > 0) { // если браузер Internet Explorer // получение выделенного текста htmlContent = document.selection.createRange().htmlText; } else { // для всех остальных браузеров // получение выделенного текста var range = window.getSelection().getRangeAt(0); htmlContent = range.toString(); } // если удалось получить текст if (htmlContent) { // обновление содержимого буфера обмена var tmp = document.createElement('INPUT'); // к выделенному тексту добавляется подпись и ссылка на текущую страницу tmp.value = htmlContent + ' Узнайте больше на ' + location.href; document.body.appendChild(tmp); tmp.select(); document.execCommand('copy'); document.body.removeChild(tmp); } }
Рабочий пример кода можно скачать на github.
Пример сайта, где уже реализован такой функционал: pigeon.ru.
Заключение
Если у вас нет времени на эту задачку или по каким-то причинам не получается реализовать ее самостоятельно, то пишите нам, будем рады помочь.