PageSourceSearch

https://static.chemie.de//js/clicktrack/clicktrack.js

js chemie.de collected 2026-09-24 09:11:32 UTC 12,347 bytes, 326 lines download raw bytes

1var ClickTrack = (function() {
2    var config = {
3        webtrends: '0',
4        matomo: '0',
5        divolte: '0',
6        mtm: '0'
7    };
8
9    var favDims = {};
10
11    var _init = function(conf) {
12        config.webtrends = conf.webtrends;
13        config.matomo = conf.matomo;
14        config.divolte = conf.divolte;
15        config.mtm = conf.mtm;
16    };
17
18    var _addFavDimensions = function(data) {
19        favDims.content_group = data.cg_n || '';
20        favDims.content_subgroup = data.cg_s || '';
21        favDims.content_id = data.wt_id || '';
22        favDims.content_type = data.wt_ct || '';
23        favDims.organization_id = data.wt_omid || '';
24        favDims.page_title = data.ti || '';
25        favDims.page_type = data.wt_st || '';
26        favDims.channel = data.channel || '';
27        favDims.portal = data.portal || '';
28        favDims.language = data.language || '';
29        favDims.content_uuid = data.content_uuid || '';
30        favDims.mtm_channel = favDims.channel;
31        if (favDims.mtm_channel === "bionity") favDims.mtm_channel = "life";
32        if (favDims.mtm_channel === "awportal") favDims.mtm_channel = "lab";
33        if (favDims.mtm_channel === "gportal") favDims.mtm_channel = "food";
34        favDims.mtm_portal = favDims.portal;
35        switch (favDims.mtm_portal) {
36        	case 'chem':
37				favDims.mtm_portal = "chemie.de";
38				break;
39        	case 'bionity':
40				favDims.mtm_portal = "bionity.com";
41				break;
42        	case 'ceurope':
43				favDims.mtm_portal = "chemeurope.com";
44				break;
45        	case 'quimica':
46				favDims.mtm_portal = "quimica.es";
47				break;
48        	case 'awportal':
49				favDims.mtm_portal = "analytica-world.com";
50				break;
51        	case 'gportal':
52				favDims.mtm_portal = "yumda.com";
53				break;
54        }
55    };
56
57    var _sendFavEvent = function() {
58        if (Object.keys(favDims).length) {
59            if (config.webtrends === "1") {_webtrendsFavEvent()}
60            if (config.matomo === "1") {_matomoFavEvent()}
61            if (config.divolte === "1") {_divolteFavEvent()}
62            if (config.mtm === "1") {_mtmFavEvent()}
63        }
64    };
65
66    var _webtrendsFavEvent = function() {
67        _tag.dcsMultiTrack(
68            'WT.cg_n', favDims.content_group,
69            'WT.cg_s', favDims.content_subgroup,
70            'DCSext.wt_id', favDims.content_id,
71            'DCSext.wt_ct', favDims.content_type,
72            'DCSext.wt_omid', favDims.organization_id,
73            'WT.ti', favDims.page_title,
74            'DCSext.wt_st', favDims.page_type
75        );
76    };
77
78    var _matomoFavEvent = function() {
79        var dims = {
80            dimension1: favDims.content_id,
81            dimension2: favDims.content_type,
82            dimension3: favDims.organization_id,
83            dimension4: favDims.page_type,
84            dimension5: favDims.content_type + ' - ' + favDims.page_type
85        };
86        _paq.push(['trackEvent', favDims.content_type , 'Merken', '', '', dims]);
87    };
88
89    var _mtmFavEvent = function() {
90        _mtm.push({
91            'event': 'interaction',
92            'event_category': 'merkliste',
93            'event_action': 'content.merkliste',
94            'event_name': 'merkliste.hinzugefuegt',
95            'page_cmid': favDims.content_id,
96            'page_content_type': favDims.content_type,
97            'page_type': favDims.page_type,
98            'page_omid': favDims.organization_id,
99            'page_channel': favDims.mtm_channel,
100            'page_language': favDims.language,
101            'page_portal': favDims.mtm_portal,
102            'page_pagecontent_type': favDims.content_type + ':' + favDims.page_type
103        });
104    }
105
106    var _divolteFavEvent = function() {
107        divolte.signal('lumActionEvent', {
108            'WT.cg_n' : favDims.content_group,
109            'WT.cg_s' : favDims.content_subgroup,
110            'DCSext.wt_id' : favDims.content_id,
111            'DCSext.wt_ct' : favDims.content_type,
112            'DCSext.wt_omid' : favDims.organization_id,
113            'WT.ti' : favDims.page_title,
114            'DCSext.wt_st' : favDims.page_type,
115            'channel' : favDims.channel,
116            'portal' : favDims.portal,
117            'language' : favDims.language
118        });
119    };
120
121
122    var _trackLinks = function(object, dims, frame) {
123        object.find('a').each(function() {
124            var UriObject = parseUri($(this).attr('href'));
125            if(UriObject.relative=='') {
126                UriObject.relative = '/';
127            }
128            dims['link_path'] = UriObject.relative.replace('/',"'+'/'+'");
129            dims['link_host'] = UriObject.host;
130
131            if (frame == null) {
132                var onclick = "";
133                if (config.webtrends === "1") {onclick += _webtrendsTrackLinks(dims)}
134                if (config.matomo === "1") {onclick += _matomoTrackLinks(dims)}
135                if (config.divolte === "1") {onclick += _divolteTrackLinks(dims)}
136                if (config.mtm === "1") {onclick += _mtmTrackLinks(dims)}
137
138
139                $(this).attr('onclick', onclick);
140            } else {
141                $(this).click(function () {
142                    if (config.webtrends === "1") {_webtrendsSendTrackLink(dims)}
143                    if (config.matomo === "1") {_matomoSendTrackLink(dims)}
144                    if (config.divolte === "1") {_divolteSendTrackLink(dims)}
145                    if (config.mtm === "1") {onclick += _mtmTrackLinks(dims)}
146                });
147                $(this).attr('target', '_blank');
148            }
149
150        });
151    };
152
153    var _webtrendsSendTrackLink = function(dims) {
154        parent._tag.dcsMultiTrack('WT.dl', '24',
155            'DCS.dcsuri', dims['link_path'],
156            'DCS.dcssip', dims['link_host'],
157            'WT.cg_n', dims['content_group'],
158            'WT.cg_s', dims['content_subgroup'],
159            'WT.ti', dims['page_title'],
160            'DCSext.wt_id', dims['content_id'],
161            'DCSext.wt_ct', dims['content_type'],
162            'DCSext.wt_omid', dims['organization_id'],
163            'DCSext.wt_st', dims['page_type'],
164            'DCSext.wt_lang', dims['language']
165            );
166    };
167
168    var _matomoSendTrackLink = function(dims) {
169        var dimensions = {
170            dimension1: dims['content_id'],
171            dimension2: dims['content_type'],
172            dimension3: dims['organization_id'],
173            dimension4: dims['page_type'],
174            dimension5: dims['content_type'] + ' - ' + dims['page_type'],
175            dimension6: dims['language'],
176        };
177        parent._paq.push(['trackEvent', dims['content_type'], 'Outbound Link', '', '', dimensions]);
178    };
179
180    var _divolteSendTrackLink = function(dims) {
181        parent.divolte.signal('lumActionEvent', {
182            'channel' : dims['channel'],
183            'portal' : dims['portal'],
184            'language' : dims['language'],
185            'WT.dl' : '24',
186            'DCS.dcsuri' : dims['link_path'],
187            'DCS.dcssip' : dims['link_host'],
188            'WT.cg_n' : dims['content_group'],
189            'WT.cg_s' : dims['content_subgroup'],
190            'WT.ti' : dims['page_title'],
191            'DCSext.wt_id' : dims['content_id'],
192            'DCSext.wt_ct' : dims['content_type'],
193            'DCSext.wt_omid' : dims['organization_id'],
194            'DCSext.wt_st' : dims['page_type']
195        });
196    };
197
198    var _webtrendsTrackLinks = function(dims) {
199        return "_tag.dcsMultiTrack("
200            + "'WT.dl', '24', "
201            + "'DCS.dcsuri', '" + dims['link_path'] + "', "
202            + "'DCS.dcssip', '" + dims['link_host'] + "', "
203            + "'WT.cg_n', '" + dims['content_group'] + "', "
204            + "'WT.cg_s', '" + dims['content_subgroup'] + "', "
205            + "'WT.ti', '" + dims['page_title'] + "', "
206            + "'DCSext.wt_id', '" + dims['content_id'] + "', "
207            + "'DCSext.wt_ct', '" + dims['content_type'] + "', "
208            + "'DCSext.wt_omid', '" + dims['organization_id'] + "', "
209            + "'DCSext.wt_st', '" + dims['page_type'] + "', "
210            + "'DCSext.wt_lang', '" + dims['language'] + "'"
211            + ");";
212    };
213
214    var _matomoTrackLinks = function(dims) {
215        return "_paq.push(['trackEvent', '" + dims['content_type'] + "', 'Outbound Link', '', '', {"
216            + "dimension1: '" + dims['content_id'] + "', "
217            + "dimension2: '" + dims['content_type'] + "', "
218            + "dimension3: '" + dims['organization_id'] + "', "
219            + "dimension4: '" + dims['page_type'] + "', "
220            + "dimension5: '" + dims['content_type'] + " - " + dims['page_type'] + "', "
221            + "dimension6: '" + dims['language'] + "'"
222            + "}]);";
223    };
224
225    var _mtmTrackLinks = function (dims) {
226		dims["mtm_channel"] = dims["channel"];
227        if (dims["mtm_channel"] === "bionity") dims["mtm_channel"] = "life";
228        if (dims["mtm_channel"] === "awportal") dims["mtm_channel"] = "lab";
229        if (dims["mtm_channel"] === "gportal") dims["mtm_channel"] = "food";
230        
231		dims["mtm_portal"] = dims["portal"];
232        switch (dims["mtm_portal"]) {
233        	case 'chem':
234				dims["mtm_portal"] = "chemie.de";
235				break;
236        	case 'bionity':
237				dims["mtm_portal"] = "bionity.com";
238				break;
239        	case 'ceurope':
240				dims["mtm_portal"] = "chemeurope.com";
241				break;
242        	case 'quimica':
243				dims["mtm_portal"] = "quimica.es";
244				break;
245        	case 'awportal':
246				dims["mtm_portal"] = "analytica-world.com";
247				break;
248        	case 'gportal':
249				dims["mtm_portal"] = "yumda.com";
250				break;
251        }
252        
253        return `window._mtm.push({
254            'event': 'interaction',
255            'event_category': 'merkliste',
256            'event_action': 'content.merkliste',
257            'event_name': 'merkliste.hinzugefuegt',
258            'page_cmid': ${dims["content_id"]},
259            'page_content_type': ${dims["content_type"]},
260            'page_type': ${dims["page_type"]},
261            'page_omid': ${dims["organization_id"]},
262            'page_channel': ${dims["mtm_channel"]},
263            'page_language': ${dims["language"]},
264            'page_portal': ${dims["mtm_portal"]},
265            'page_pagecontent_type': ${dims["content_type"]}+ ':' +${dims["page_type"]}, 
266        });`
267    };
268
269    var _divolteTrackLinks = function(dims) {
270        return "divolte.signal('lumActionEvent', {"
271            + "'channel' : '" + dims['channel'] + "', "
272            + "'portal' : '" + dims['portal'] + "', "
273            + "'language' : '" + dims['language'] + "', "
274            + "'WT.dl' : '24', "
275            + "'DCS.dcsuri' : '" + dims['link_path'] + "', "
276            + "'DCS.dcssip' : '" + dims['link_host'] + "', "
277            + "'WT.cg_n' : '" + dims['content_group'] + "', "
278            + "'WT.cg_s' : '" + dims['content_subgroup'] + "', "
279            + "'WT.ti', '" + dims['page_title'] + "', "
280            + "'DCSext.wt_id' : '" + dims['content_id'] + "', "
281            + "'DCSext.wt_ct' : '" + dims['content_type'] + "', "
282            + "'DCSext.wt_omid' : '" + dims['organization_id'] + "', "
283            + "'DCSext.wt_st' : '" + dims['page_type'] + "'"
284            + "});";
285    };
286
287    return {
288        init: _init,
289        addFavDimensions: _addFavDimensions,
290        sendFavEvent: _sendFavEvent,
291        trackLinks: _trackLinks
292    }
293})();
294
295// parseUri 1.2.2
296// (c) Steven Levithan <stevenlevithan.com>
297// MIT License
298
299function parseUri (str) {
300    var o   = parseUri.options,
301        m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
302        uri = {},
303        i   = 14;
304
305    while (i--) uri[o.key[i]] = m[i] || "";
306
307    uri[o.q.name] = {};
308    uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
309        if ($1) uri[o.q.name][$1] = $2;
310    });
311
312    return uri;
313}
314
315parseUri.options = {
316    strictMode: false,
317    key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
318    q:   {
319        name:   "queryKey",
320        parser: /(?:^|&)([^&=]*)=?([^&]*)/g
321    },
322    parser: {
323        strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
324        loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
325    }
326};

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.