PageSourceSearch

https://www.qlbchina.com/eportal/uiFramework/js/counting/hot.js

js qlbchina.com collected 2026-10-04 04:20:17 UTC 4,337 bytes, 117 lines download raw bytes

1
2function hot(a) {
3    this.t = a
4}
5hot.prototype = {
6    sendHeat: function (a) {
7        var b, d = [],
8            q = document.body,
9            s = document.documentElement;
10
11        if (a.r && 1 == a.r) {
12        	if($("div.navgationDiv")[0]){
13        		return;
14        	}
15            d.push("&x=" + a.x);
16            d.push("&y=" + a.y);
17            d.push("&hotClick=yes");
18            a = this.t.url.join("") + d.join("");
19
20            b = this.t.getParameter("ps", a);
21            a = a.replace("ps=" + b, "" == b ? "ps=" : "ps=0");
22            a = a.replace("sh=" + b, "sh=" + Math.max(q && q.scrollHeight, s && s.scrollHeight));
23            this.t.sendInfo(a);
24        }
25    },
26    getPos: function (a, d, b, c) {
27        var b = b || 0,
28            c = c || 0,
29            d = d || document,
30            e = a || window.event,
31            t = e.srcElement || e.target,
32            r = 0,
33            a = {},
34            a = e.pageX || e.pageY ? {
35                x: e.pageX,
36                y: e.pageY
37            } : {
38                x: e.clientX + Math.max(d.documentElement.scrollLeft, d.body.scrollLeft) - d.body.clientLeft,
39                y: e.clientY + Math.max(d.documentElement.scrollTop, d.body.scrollTop) - d.body.clientTop
40            };
41        a.x += b;
42        a.y += c;
43
44        switch (t.tagName) {
45            case "A":
46            case "IMG":
47            case "INPUT":
48            case "EMBED":
49            case "BUTTON":
50            case "SELECT":
51            case "OBJECT":
52            case "TEXTAREA":
53                a.r = 1;
54                break;
55            default:
56                a.r = r;
57        }
58        return a
59    },
60    clickHeat: function (a) {
61        this.sendHeat(this.getPos(a))
62    },
63    watchClick: function (a) {
64        var d = function (a, b, c) {
65            var d = function (a) {
66                a = window.event || a;
67                target = a.srcElement || a.target;
68                c(a, target)
69            };
70            a.attachEvent ? a.attachEvent("on" + b, d) : a.addEventListener(b, d, !1)
71        },
72            b = this;
73        if (a) b.clickHeat(evt);
74        else {
75            a = document;
76            d(a, "click", function (a) {
77                b.sendHeat(b.getPos(a))
78            });
79            for (var c = a.getElementsByTagName("iframe"), e = 0, a = c.length; e < a; e++) try {
80                (function () {
81                    var a = c[e],
82                        f = a.contentWindow.document;
83                    d(f, "click",
84                        function (d) {
85                            var c = b.getElementPos(a);
86                            b.sendHeat(b.getPos(d, f, c.x, c.y))
87                        })
88                })()
89            } catch (f) { }
90        }
91    },
92    getElementPos: function (a) {
93        if (null === a.parentNode || "none" == a.style.display) return !1;
94        var d = navigator.userAgent.toLowerCase(),
95            b = null,
96            c = [];
97        if (a.getBoundingClientRect) return d = a.getBoundingClientRect(), a = Math.max(document.documentElement.scrollTop, document.body.scrollTop), b = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft), {
98            x: d.left + b - document.body.clientLeft,
99            y: d.top + a - document.body.clientTop
100        };
101        if (document.getBoxObjectFor) d = document.getBoxObjectFor(a), c = [d.x - (a.style.borderLeftWidth ? Math.floor(a.style.borderLeftWidth) : 0), d.y - (a.style.borderTopWidth ? Math.floor(a.style.borderTopWidth) : 0)];
102        else {
103            c = [a.offsetLeft, a.offsetTop];
104            b = a.offsetParent;
105            if (b != a)
106                for (; b;) c[0] += b.offsetLeft, c[1] += b.offsetTop, b = b.offsetParent;
107            if (-1 < d.indexOf("opera") || -1 < d.indexOf("safari") && "absolute" == a.style.position) c[0] -= document.body.offsetLeft, c[1] -= document.body.offsetTop
108        }
109        for (b = a.parentNode ? a.parentNode : null;
109 b && "BODY" !=
110            b.tagName && "HTML" != b.tagName;) c[0] -= b.scrollLeft, c[1] -= b.scrollTop, b = b.parentNode ? b.parentNode : null;
111        return {
112            x: c[0],
113            y: c[1]
114        }
115    }
116};
117window.hot = hot;

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.