Vit_Hol, зайди на сайт с примером
http://tops.net.ua/jquery_addtocopy/ , открой страницу через фаэрбаг и посмотри на то что подгружается в странице. А именно там грузиться основной элемент зашитый в страницу до тега head:
Код:
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
<script type="text/javascript">try { var pageTracker = _gat._getTracker("UA-11667309-1"); pageTracker._trackPageview(); } catch(err) {}</script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/addtocopy.js"></script>
<script type="text/javascript">
$(function(){
$("#content").addtocopy({htmlcopytxt: '<br>Подробнее: <a href="'+window.location.href+'">'+window.location.href+'</a>'});
});
</script>
<style>
#content, #test {-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:0 3px 5px #FAFAFA;-webkit-box-shadow:0 3px 5px #FAFAFA;box-shadow:0 3px 5px #FAFAFA;background:none repeat scroll 0 0 #FAFAFA;border:1px solid #DADADA;color:#3B5F1E;font-family:arial;font-size:18px;margin:50px auto 50px;padding:40px;width:1000px;}
#test textarea{height:150px;width:100%;}
#ctrlcopy {
color:transparent;
height:1px;
overflow:hidden;
position:absolute;
width:1px;
}
</style>
И подцепляется сам скрипт в странице:
http://tops.net.ua/jquery_addtocopy/js/addtocopy.js с содержимым.
Код:
/**
* @author Falchenko Maxim aka be3
* @plugin_page http://tops.net.ua/jquery_addtocopy/
* @desc Adds a link to the copied text
* @version 1.2
* @example
* $("#content").addtocopy();
* @license free
**/
jQuery.fn.addtocopy = function(usercopytxt) {
var options = {htmlcopytxt: '<br>More: <a href="'+window.location.href+'">'+window.location.href+'</a><br>', minlen: 25, addcopyfirst: false}
$.extend(options, usercopytxt);
var copy_sp = document.createElement('span');
copy_sp.id = 'ctrlcopy';
copy_sp.innerHTML = options.htmlcopytxt;
return this.each(function(){
$(this).mousedown(function(){$('#ctrlcopy').remove();});
$(this).mouseup(function(){
if(window.getSelection){ //good times
var slcted=window.getSelection();
var seltxt=slcted.toString();
if(!seltxt||seltxt.length<options.minlen) return;
var nslct = slcted.getRangeAt(0);
seltxt = nslct.cloneRange();
seltxt.collapse(options.addcopyfirst);
seltxt.insertNode(copy_sp);
if (!options.addcopyfirst) nslct.setEndAfter(copy_sp);
slcted.removeAllRanges();
slcted.addRange(nslct);
} else if(document.selection){ //bad times
var slcted = document.selection;
var nslct=slcted.createRange();
var seltxt=nslct.text;
if (!seltxt||seltxt.length<options.minlen) return;
seltxt=nslct.duplicate();
seltxt.collapse(options.addcopyfirst);
seltxt.pasteHTML(copy_sp.outerHTML);
if (!options.addcopyfirst) {nslct.setEndPoint("EndToEnd",seltxt); nslct.select();}
}
});
});
}
Все, этого должно хватать для работоспособности. И учти что это работает не во всех браузерах.