PageSourceSearch

https://www.reflective-china.com/Tpl/public/js/Browser-detection-en.js

js reflective-china.com collected 2026-10-04 10:56:25 UTC 7,228 bytes, 132 lines download raw bytes

1(function (f) {
2    var a = " .webcompatibleCon{    position: fixed; left:0; top:0; z-index: 8000; " + '   width: 100%; height: 100%; font-family: "Microsoft YaHei", "微软雅黑", "黑体"; ' + "    color: #747474; } .webcompatibleCon *{ padding: 0; margin:0;} .webcompatibleCon .webcompatibleBG{     position: absolute; left:0; top:0; width: 100%; height: 100%; _height:600px; *height:60px;     opacity: 0.5; filter:alpha(opacity=50); background:#000; } .webcompatibleCon .webcompatibleMain{     position: relative; background: #fff;     width: 600px; height: 350px;     border-radius: 3px;  font-size: 14px;     top:200px; margin: 0 auto; } .webcompatibleCon .colorBlack{color:#000; } .webcompatibleCon .webcompatiblePa{padding:0 30px; } .webcompatibleCon .webcompatibleTitle{     font-size: 14px; height:45px; line-height:45px;     border-bottom:1px solid #DEDEDE; margin-bottom: 10px; } .webcompatibleCon .tipClose{     position: absolute; right: 10px; top:8px; " + '    width: 26px; height: 26px; background:url("../Tpl/public/image/BrowserTip_en.png") no-repeat -7px -195px; } ' + ".webcompatibleCon .tipClose:hover{cursor: pointer;} .webcompatibleCon .tip-part1{line-height: 40px; font-size: 16px;} .webcompatibleCon .tip-part1 span{font-weight: bold;} .webcompatibleCon .tip-part1 .redspan{color: #DE2626;} .webcompatibleCon .tip-part2{text-align: center; margin-top: 40px; padding:0 15px;} .webcompatibleCon ul li{list-style-type: none;float:left; width: 16%;} .webcompatibleCon ul li p{color: #747474;} .webcompatibleCon a{text-decoration:none;}" + '.webcompatibleCon .browser{ width: 56px; height: 58px; display: inline-block; margin:0 auto;background-image:url("../Tpl/public/image/BrowserTip_en.png"); background-repeat:no-repeat; }' + ".webcompatibleCon .browser-google{ background-position: -5px -20px; } .webcompatibleCon .browser-firefox{ background-position: -99px -19px; }.webcompatibleCon .browser-Opera{ background-position: -200px -16px; } .webcompatibleCon .browser-safari{ background-position: -6px -102px; } .webcompatibleCon .browser-sougou{ background-position: -102px -106px; } .webcompatibleCon .browser-ie{ background-position: -199px -102px; } ";
3    var j = '<div class="webcompatibleCon"><div class="webcompatibleBG"></div><div class="webcompatibleMain"><div class="webcompatibleTitle"><p class="webcompatiblePa colorBlack">Upgrade prompt</p><div class="tipClose"></div>' + "</div>" + '<div class="webcompatiblePa colorBlack tip-part1">The version of IE you are using is too low!<span class = "redspan">Please upgrade to IE9 and above immediately</span></div><div class="webcompatiblePa browserup">This site uses html5, css3 and other new technologies to develop, and no longer supports old IE. We recommend that you use the following browser to access: </div><div class="tip-part2 webcompatiblePa">' + "<ul style='padding-left:30px;'>" + '<li><a href="https://chrome.en.softonic.com/" target="_blank"><div class="browser browser-google"></div><p>Chrome</p></a></li><li><a href="https://www.mozilla.org/ru/firefox/new/" target="_blank"><div class="browser browser-firefox"></div><p>Firefox </p></a></li><li style="width:17.5%;"><a href="http://www.opera.com/download" target="_blank"><div class="browser browser-Opera "></div><p>Opera </p></a></li><li style="width:17.5%;"><a href="https://www.apple.com/safari/" target="_blank"><div class="browser browser-safari "></div><p>Safari</p></a></li>' + "</ul></div></div></div>";
4    var l = window.document.head || window.document.getElementsByTagName("head")[0];
5    var m = {
6        isAddEventListener: typeof window.document.addEventListener != "undefined",
7        isAttachEvent: typeof window.document.attachEvent != "undefined",
8        isInnerText: "innerText"in l,
9        isInnerHTML: "innerHTML"in l,
10        addEvent: function (q, p, o) {
11            if (m.isAddEventListener) {
12                q.addEventListener(p, o, false)
13            } else {
14                if (m.isAttachEvent) {
15                    q.attachEvent("on" + p, o)
16                }
17            }
18        },
19        removeEvent: function (q, p, o) {
20            if (m.isAddEventListener) {
21                q.removeEventListener(p, o, false)
22            } else {
23                if (m.isAttachEvent) {
24                    q.detachEvent("on" + p, o)
25                }
26            }
27        }
28    };
29    var n = [], k = false, c = false;
30
31    function i(p) {
32        var o = p.shift();
33        while (o) {
34            o();
35            o = p.shift()
36        }
37    }
38
39    function b() {
40        if (m.isAddEventListener) {
41            window.document.removeEventListener("DOMContentLoaded", b);
42            k = true;
43            i(n)
44        }
45        if (m.isAttachEvent) {
46            if (window.document.readyState === "complete") {
47                window.document.detachEvent("onreadystatechange", b);
48                k = true;
49                i(n)
50            }
51        }
52    }
53
54    var e = f || function (o) {
55            if (typeof o !== "function") {
56                return
57            }
58            n.push(o);
59            if (k) {
60                i(n)
61            } else {
62                if (!c) {
63                    if (m.isAddEventListener) {
64                        window.document.addEventListener("DOMContentLoaded", b)
65                    } else {
66                        if (m.isAttachEvent) {
67                            window.document.attachEvent("onreadystatechange", b)
68                        }
69                    }
70                    c = true
71                }
72            }
73        };
74
75    function h() {
76        var o = null;
77        if (document.createStyleSheet) {
78            o = document.createStyleSheet();
79            o.cssText = a
80        } else {
81            o = document.createElement("style");
82            if (o.setAttribute) {
83                o.setAttribute("type", "text/css")
84            } else {
85                o.attributes.type = "text/css"
86            }
87            o.innerHTML = o.innerText = a;
88            l.appendChild(o)
89        }
90    }
91
92    function g() {
93        var p = window.document.createElement("div");
94        p.innerHTML = j;
95        var o = window.document.body;
96        o.insertBefore(p, o.firstChild)
97    }
98
99    function d() {
100        var q = document.body.children || document.body.childNodes;
101        var p = 0, o = q.length, t, r;
102        for (p; p < o; p++) {
103            t = q[p];
104            if (t.tagName.toUpperCase() == "DIV") {
105                r = t.firstChild;
106                if (r && r.tagName.toUpperCase() === "DIV" && /webcompatibleCon/ig.test(r.className)) {
107                    break
108                }
109            }
110        }
111        r = r.lastChild.firstChild;
112        var s = r.lastChild;
113        m.addEvent(s, "click", function () {
114            document.body.removeChild(t)
115        })
116    }
117
118    e(function () {
119        var q = window.navigator.userAgent;
120        var o = /msie|trident/ig;
121        var p = o.test(q);
122        var t = /msie 6/i.test(q);
123        var s = /msie 7/i.test(q);
124        var r = /msie 8/i.test(q);
125        var x = /msie 9/i.test(q);
126        if (r || t || s || x) {
127            h();
128            g();
129            d()
130        }
131    })
132})(window.$ || window.jQuery);

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.