1(function() { 2 var _b = Base = {}; 3 var _loadedUrls = {}; 4 5 var scripts = document.getElementsByTagName("script"); 6 var i = scripts.length; 7 while (i--) { 8 var match = scripts[i].src.match(/(^|.*\/)base/); 9 if (match) { _b.ROOT = match[1]; } 10 } 11 12 _b.xhr = function(method, url, someBool) { 13 var request = new XMLHttpRequest(); 14 request.open(method, url, someBool); 15 return request; 16 } 17 18 _b.require = function(url, callback) { 19 if (!url.match(/\.([^\/]*)$/)) { url += ".js"; } 20 if(url.indexOf('//') != 0) { url = _b.ROOT + url; } 21 if (!_loadedUrls[url]) { 22 with (_b.xhr("GET", url, false)) { 23 send(null); 24 if (status == 200) { 25 eval(responseText); 26 if(callback) callback(responseText); 27 _loadedUrls[url] = true; 28 } 29 else { throw new Error("Unable to load " + url + " status: " + status); } 30 } 31 } 32 } 33})(); 34 35//Get Query String 36function getQueryParam(name) { 37 var scripts = document.getElementsByTagName("script"); 38 var src = '/javascripts/base-min.js'; 39 for (var i = 0; i < scripts.length; i++) { 40 var s = scripts[i].getAttribute('src'); 41 if (s) { 42 var ix = s.indexOf(src); 43 if (ix > -1) { 44 src = s; 45 break; 46 } 47 } 48 } 49 50 name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 51 var regexS = "[\\?&]" + name + "=([^&#]*)"; 52 var regex = new RegExp(regexS); 53 var results = regex.exec(src); 54 if (results == null) 55 return ""; 56 else 57 return decodeURIComponent(results[1].replace(/\+/g, " ")); 58}
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.