1function include(filename, afterfunc) { 2 3 include.seq = (include.seq)? include.seq + 1: 1; 4 5 var id = new Date().getTime() + "-" + include.seq; 6 var inc = document.createElement("iframe"); 7 8 inc.id = "inc-" + id; 9 inc.src = filename; 10 inc.style.display = "none"; 11 document.write("<span id=\"" + id + "\"></span>"); 12 13 var incfunc = function() { 14 15 var s = (function() { 16 var suffix = (n = filename.lastIndexOf(".")) >= 0 ? filename.substring(n): "default"; 17 if (suffix == ".html") return inc.contentWindow.document.body.innerHTML; 18 if (suffix == ".txt") return inc.contentWindow.document.body.firstChild.innerHTML; 19 if (suffix == "default") return inc.contentWindow.document.body.innerHTML; 20 })(); 21 22 var span = document.getElementById(id); 23 24 var insertBeforeHTML = function(htmlStr, refNode) { 25 if (document.createRange) { 26 var range = document.createRange(); 27 range.setStartBefore(refNode); 28 refNode.parentNode.insertBefore(range.createContextualFragment(htmlStr), refNode); 29 } else { 30 refNode.insertAdjacentHTML('BeforeBegin', htmlStr); 31 } 32 }; 33 34 insertBeforeHTML(s.split(">").join(">").split("<").join("<"), span); 35 document.body.removeChild(inc); 36 span.parentNode.removeChild(span); 37 if (afterfunc) afterfunc(); 38 }; 39 40 if (window.attachEvent) { 41 window.attachEvent('onload', 42 function() { 43 document.body.appendChild(inc); 44 inc.onreadystatechange = function() { if (this.readyState == "complete") incfunc(); }; 45 }); 46 } 47 else { 48 document.body.appendChild(inc); 49 inc.onload = incfunc; 50 } 51}
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.