Показать сообщение отдельно
Старый 21.05.2013, 21:09 Вверх   #8
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

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();}
			}
		});
  });
}
Все, этого должно хватать для работоспособности. И учти что это работает не во всех браузерах.
  Ответить с цитированием
 
Время генерации страницы 0.03734 секунды с 10 запросами