1var scajax = {}; 2scajax.x = function () { 3 if (typeof XMLHttpRequest !== 'undefined') { 4 return new XMLHttpRequest(); 5 } 6 var versions = [ 7 "MSXML2.XmlHttp.6.0", 8 "MSXML2.XmlHttp.5.0", 9 "MSXML2.XmlHttp.4.0", 10 "MSXML2.XmlHttp.3.0", 11 "MSXML2.XmlHttp.2.0", 12 "Microsoft.XmlHttp" 13 ]; 14 15 var xhr; 16 for (var i = 0; i < versions.length; i++) { 17 try { 18 xhr = new ActiveXObject(versions[i]); 19 break; 20 } catch (e) { 21 } 22 } 23 return xhr; 24}; 25 26scajax.send = function (url, callback, method, data, async) { 27 if (async === undefined) { 28 async = true; 29 } 30 var x = scajax.x(); 31 x.open(method, url, async); 32 x.onreadystatechange = function () { 33 if (x.readyState == 4) { 34 callback(x.responseText) 35 } 36 }; 37 if (method == 'POST') { 38 x.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 39 } 40 x.send(data) 41}; 42 43scajax.get = function (url, data, callback, async) { 44 var query = []; 45 for (var key in data) { 46 query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key])); 47 } 48 scajax.send(url + (query.length ? '?' + query.join('&') : ''), callback, 'GET', null, async) 49}; 50 51scajax.post = function (url, data, callback, async) { 52 scajax.send(url, callback, 'POST', JSON.stringify(data), async) 53};
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.