PageSourceSearch

https://cfjump.banggood.com/tag/43831

js banggood.com collected 2026-09-24 06:23:28 UTC 5,922 bytes, 171 lines download raw bytes

1(function () {
2    if (window.console) { console.log("Commission Factory: master tag loaded for advertiser 43831"); }
3
4    function escapeRegExp(string) {
5        return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
6    }
7
8    function formatRequest(obj, suffix) {
9        var result = "";
10
11        for (var key in obj) {
12            if (obj.hasOwnProperty(key)) {
13                var value = obj[key];
14
15                if (value !== null && value !== undefined) {
16                    if (typeof value === "object") {
17                        result += formatRequest(value, key);
18                    } else {
19                        result += encodeURIComponent(key + (suffix || "")) + "=" + encodeURIComponent(value) + "&";
20                    }
21                }
22            }
23        }
24
25        return result;
26    }
27
28    function getCookie(name) {
29        return document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)" + escapeRegExp(name) + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1");
30    }
31
32    function getParameter(name) {
33        return document.location.search.replace(new RegExp("(?:(?:.*[?&])" + escapeRegExp(name) + "\\=([^&]*).*$)|^.*$"), "$1");
34    }
35
36    function setCookie(name, value) {
37        document.cookie = name + "=" + encodeURIComponent(value) + "; Domain=.banggood.com; Max-Age=7776000; Path=/; SameSite=None; Secure";
38    }
39
40    var click = getParameter("cfclick") || getCookie("cfjump-tag-click") || getCookie("cfjump-click");
41
42    if (click) {
43        setCookie("cfjump-tag-click", click);
44    }
45
46    var gclid = getParameter("cfgclid") || getParameter("gclid") || getCookie("cfjump-tag-gclid") || getCookie("cfjump-gclid");
47
48    if (gclid) {
49        setCookie("cfjump-tag-gclid", gclid);
50    }
51
52    function recurse(target, source) {
53        for (var i = 0; i < source.length; i++) {
54            var current = source[i];
55
56            if (current.nodeName.toLowerCase() == "script") {
57                var script = document.createElement("script");
58
59                for (var j = 0; j < current.attributes.length; j++) {
60                    var attr = current.attributes[j];
61
62                    script.setAttribute(attr.name, attr.value);
63                }
64
65                script.text = current.text || current.textContent || current.innerHTML || "";
66
67                target.appendChild(script);
68            } else if (current.innerHTML && current.innerHTML.toLowerCase().indexOf("<script") != -1) {
69                var childNodes = removeChildNodes(current);
70
71                target.appendChild(current);
72
73                recurse(current, childNodes);
74            } else {
75                target.appendChild(current);
76            }
77        }
78    }
79
80    function removeChildNodes(element) {
81        var childNodes = [ ];
82
83        while (element.firstChild) {
84            childNodes.push(element.removeChild(element.firstChild));
85        }
86
87        return childNodes;
88    }
89
90    var container = document.createElement("div");
91    
92    container.innerHTML = "<script type=\"text/javascript\">!function(){var e=document.createElement(\"script\");e.type=\"text/javascript\",e.async=!0,e.src=\"//www.rtb123.com/tags/60CE2906-6735-5900-A7B5-B13CEA2B4908/btp.js\";var t=document.getElementsByTagName(\"head\")[0];t?t.appendChild(e,t):(t=document.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(e,t)}();</script>";
93
94    recurse(document.body || document.head, removeChildNodes(container));
95
96    var q = (window.CommissionFactory && window.CommissionFactory.q) || null;
97
98    var request = { };
99
100    window.CommissionFactory = function (command, key, value) {
101        switch (command) {
102            case "add": {
103                (request[key] = request[key] || [ ]).push(value);
104
105                break;
106            }
107
108            case "set": {
109                request[key] = value;
110
111                break;
112            }
113
114            case "track": {
115                request.client = "browser";
116                request.token = "e586d8b7385ef385988047f3a8a2c6c58ac6c9f4";
117
118                if (request.merchant === undefined) {
119                    request.merchant = 43831;
120                }
121
122                var click = getParameter("cfclick") || getCookie("cfjump-tag-click") || getCookie("cfjump-click");
123
124                if (click) {
125                    request.click = click;
126                }
127
128                var gclid = getParameter("cfgclid") || getParameter("gclid") || getCookie("cfjump-tag-gclid") || getCookie("cfjump-gclid");
129
130                if (gclid) {
131                    request.gclid = gclid;
132                }
133
134                if (window.performance && window.performance.now) {
135                    request.timing = window.performance.now() | 0;
136                }
137
138                var visitor = getCookie("cfjump-tag-visitor") || getCookie("cfjump-visitor");
139
140                if (visitor) {
141                    request.visitor = visitor;
142                }
143
144                if (window.console) {
145                    console.log("Commission Factory: master tag is firing conversion tag with following data:");
146                    console.log(request);
147                }
148
149                var newNode = document.createElement("script");
150
151                newNode.async = true;
152                newNode.src = "https://cfjump.banggood.com/track?" + formatRequest(request);
153                newNode.type = "application/javascript";
154
155                var referenceNode = document.getElementsByTagName("script")[0];
156
157                referenceNode.parentNode.insertBefore(newNode, referenceNode);
158
159                request = { };
160
161                break;
162            }
163        }
164    };
165
166    if (q !== null) {
167        for (var i = 0; i < q.length; i++) {
168            CommissionFactory.apply(window, q[i]);
169        }
170    }
171})();

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.