Держите
<!doctype html>
<html>
<head>
<title>;)</title>
<meta charset="utf-8">
<style type="text/css"></style>
</head>
<body>
<div class="text1">Этот текст скопируется без ссылки</div>
<div class="text2">И этот текст скопируется без ссылки</div>
<div class="my_text">
<div class="news_777">
А этот текст скопируется со ссылкой
</div>
</div>
<div class="my_text">
<div class="news_77">
<div>
<div class="news_777">
И этот текст скопируется со ссылкой
</div>
</div>
</div>
</div>
<script type="text/javascript">
// Определение ф-ции
var addLink = (function (G) {
return function (targetClass) {
G.document.oncopy = function () {
var body_element = this.body,
selection = G.getSelection(),
pagelink = "<br/>Источник: " + G.location,
copytext = selection + pagelink,
newdiv = this.createElement('div'),
checkNode = function (node) {
while (null !== node) {
if (node.className && node.className === targetClass) {
return true;
}
node = node.parentNode || null;
}
return false;
};
if (false === checkNode(selection.anchorNode.parentNode)) {
return;
}
newdiv.style.position = "absolute";
newdiv.style.left = "-99999px";
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
G.setTimeout(function() {
body_element.removeChild(newdiv);
}, 0);
};
};
} (this));
// Вызов.
// Вызывать 1 раз на странице!
// Передавать имя класса элементов, при копировании из которых нужно
// Вставлять ссылку.
addLink("my_text");
</script>
</body>
</html>