6845
- 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: '<br>Подробнее: <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 программы.
Можешь почитать и вот эту статейку "палитра цветов 3"
Это тоже интересно
- 06.02.13Скрипт выделение текста,кода ..
- 26.05.21Фоны для сайта на чистом CSS
- 13.03.25Снова мучаем изображения
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




