6475
- 0
- Автор: --------------
- Адаптировал: irbees2008
- Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки
Вот нашел пару скриптов:
1. скрипт добавляет ссылку на источник при копировании текста со страниц сайта.
Код:
<script type="text/javascript">
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
var selection;
selection = window.getSelection();
var pagelink = "<br /><br /> Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />© Jemand.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.этот вариант требует библиотеку jQuery.
Код:
var source_link = '<p>Подробнее: <a href="' + location.href + '">' + location.href + '</a></p>';
jQuery(
function($)
{
if (window.getSelection) $('#content div.post').bind(
'copy',
function()
{
var selection = window.getSelection();
var range = selection.getRangeAt(0);
var magic_div = $('<div>').css({ overflow : 'hidden', width: '1px', height : '1px', position : 'absolute', top: '-10000px', left : '-10000px' });
magic_div.append(range.cloneContents(), source_link);
$('body').append(magic_div);
var cloned_range = range.cloneRange();
selection.removeAllRanges();
var new_range = document.createRange();
new_range.selectNode(magic_div.get(0));
selection.addRange(new_range);
window.setTimeout(
function()
{
selection.removeAllRanges();
selection.addRange(cloned_range);
magic_div.remove();
}, 0
);
}
);
}
);
Код:
source_link
В данном примере задаётся статически, но при желании генерацию ссылки можно усложнить (например, при копировании с текста с домашней страницы можно возвращать ссылку на статью, из которой взята данная цитата).
Для этого в строке
Код:
magic_div.append(range.cloneContents(), source_link);
Код:
source_link
Код:
'#content div.post'
Возможные улучшения: проверка длины копируемого текста. Например, если пользователь копирует меньше 20 слов, не добавлять ссылку. Получить выделенный текст можно через
Код:
range.cloneContents().textContent.
Работает все это как плагин для jQuery.
Как пользоваться:
1. между head подключаем скрипт
Код:
<script type="text/javascript" src="{tpl_url}/js/addtocopy.js"></script>
<script type="text/javascript">
$(function(){
$("#content").addtocopy({htmlcopytxt: '
Подробнее: <a href="'+window.location.href+'">'+window.location.href+'</a>', minlen:35, addcopyfirst: false});
});
</script>
2.Скачать файлВы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. и залить его в папку js шаблона
3.в стили добавить :
Код:
<style>
#ctrlcopy {
height:1px;
overflow:hidden;
position:absolute;
width:1px;
margin: 5px 0 0 -1px;
line-height:0;
opacity: 0;
}
</style>
Опция | Описание |
htmlcopytxt | что добавлять к скопированному в буфер, принимает html |
minlen | минимальная длинна выделяемого текста, принимает int |
addcopyfirst | добавлять htmlcopytxt в начало буфера обмена или в конец, true/false |
Есть и другие варианты скриптов, направленные именно на автоматическое добавление ссылки на источник при копировании текста с сайта. Защищайте свой контент с умом, но не забывайте, что всегда есть кнопка PrintScreen и OCR программы.
Можешь почитать и вот эту статейку "Теги menu "
Это тоже интересно
- 25.10.14Защищаем свой сайт от PHP шеллы
- 26.11.14Как бороться с клонами сайтов?
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.