PageSourceSearch

https://www.aba.com/layouts/system/VisitorIdentification.js

js aba.com collected 2026-09-24 07:27:59 UTC 3,091 bytes, 101 lines download raw bytes

1function subscribeEvent(event, listener, useCapture) {
2  if (document.addEventListener) {
3    document.addEventListener(event, listener, useCapture);
4  } else if (document.attachEvent) {
5    document.attachEvent(event, listener, useCapture);
6  }
7}
8
9function unsubscribeEvent(event, listener, useCapture) {
10  if (document.removeEventListener) {
11    document.removeEventListener(event, listener, useCapture);
12  } else if (document.detachEvent) {
13    document.detachEvent(event, listener, useCapture);
14  }
15}
16
17function startActivityHandler(e) {
18  unsubscribeEvent("touchstart", arguments.callee, false);
19  document.documentElement.onmousemove = null; // We need it here to turn off mouse move too.
20
21  if (true) {
22    timeoutSleep(0, placeCssAspxRequest);
23  }
24};
25
26document.documentElement.onmousemove = startActivityHandler;
27subscribeEvent("touchstart", startActivityHandler, false);
28
29function placeCheckerRequest() {
30  var stt1 = getVirtualFolder();
31  var stt2 = "layouts/system/VIChecker.aspx";
32  var stt3 = addTstampAndSiteToQueryString(getMetatagContent("VIcurrentDateTime"));
33
34  var fileref = document.createElement('link');
35  fileref.setAttribute('rel', 'stylesheet');
36  fileref.setAttribute('type', 'text/css');
37  fileref.setAttribute('href', stt1 + stt2 + stt3);
38  document.getElementsByTagName("head")[0].appendChild(fileref);
39}
40
41function placeCssAspxRequest() {
42  var st1 = getVirtualFolder();
43  var st2 = "layouts/system/VisitorIdentificationCSS.aspx";
44  var st3 = addTstampAndSiteToQueryString(new Date().getTime());
45
46  var fileref = document.createElement('link');
47  fileref.setAttribute('rel', 'stylesheet');
48  fileref.setAttribute('type', 'text/css');
49  fileref.setAttribute('href', st1 + st2 + st3);
50  document.getElementsByTagName("head")[0].appendChild(fileref);
51
52  timeoutSleep(30000, placeCheckerRequest);
53}
54
55function timeoutSleep(milliseconds, callbackFunction) {
56  window.setTimeout(
57    function() {
58      callbackFunction();
59    },
60    milliseconds);
61}
62
63function getMetatagContent(metatagName) {
64  var metas = document.getElementsByTagName('meta');
65  var metaContent;
66
67  for (var i = 0; i < metas.length; i++) {
68    if (metas[i].getAttribute("name") === metatagName) {
69      metaContent = metas[i].getAttribute("content");
70      break;
71    }
72  }
73  if (!metaContent) {
74    metaContent = "";
75    console.log("Metatag '" + metatagName + "' content is expected to be rendered in document and not to be empty");
76  }
77
78  return metaContent;
79}
80
81function addTstampAndSiteToQueryString(tstamp) {
82  var qsParams = window.location.search;
83  var timestampParam = "tstamp=" + tstamp;
84  var siteNameParam = qsParams.match(/sc_site=.*?&|sc_site=.*$/);
85
86  var queryString = "?" + timestampParam;
87  if (siteNameParam !== null) {
88    queryString = queryString + "&" + siteNameParam;
89  }
90
91  return queryString;
92}
93
94function getVirtualFolder() {
95  var virtualFolder = getMetatagContent("VirtualFolder");
96  if (virtualFolder === "") {
97    virtualFolder = "/";
98  }
99
100  return virtualFolder;
101}

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.