1(function ($) { 2 function addLink() { 3 var i, len, selection, source, copyHolder, borderStart, borderEnd, range; 4 5 selection = window.getSelection(); 6 source = '<br /> Èñòî÷íèê: <a href="' + document.location.href + '">' + document.location.href + '</a>'; 7 8 copyHolder = $('<div></div>'); 9 copyHolder.css({position: 'fixed', 'left': '-99999px', 'top': 0}); 10 11 for (i = 0, len = selection.rangeCount; i < len; i += 1) { 12 copyHolder.append(selection.getRangeAt(i).cloneContents()); 13 } 14 copyHolder.append(source); 15 16 borderStart = $('<div></div>'); 17 borderEnd = $('<div></div>'); 18 copyHolder.prepend(borderStart); 19 copyHolder.append(borderEnd); 20 21 $('body').append(copyHolder); 22 23 range = document.createRange(); 24 range.selectNodeContents(copyHolder[0]); 25 range.setStartAfter(borderStart[0]); 26 range.setEndBefore(borderEnd[0]); 27 28 selection.removeAllRanges(); 29 selection.addRange(range); 30 31 window.setTimeout(function () { 32 copyHolder.remove(); 33 }, 0); 34 } 35 36 if( typeof(is_super) == "undefined" ){ 37 document.addEventListener('copy', addLink); 38 } 39 40})(jQuery); 41
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.