PageSourceSearch

https://searchmynewjob.com/plugins/thedmsgrp/universaltracking/assets/javascript/universaltracking.js

js searchmynewjob.com collected 2026-10-08 17:37:12 UTC 2,114 bytes, 94 lines download raw bytes

1(function ($) {
2
3    $.fn.UniversalTracking = function () {
4
5        return this.each(function () {
6            $(this).on('click', function (e) {
7
8                var data = $(this).data('track');
9
10                if (data) {
11                    trackEvent(data.category, data.action, data.label, data.value)
12                }
13
14                if (typeof console.log !== 'undefined') {
15                    console.log('Tracking click', data);
16                }
17            });
18        });
19
20    };
21
22
23    $.UniversalTracking = function (data) {
24
25        if (typeof data === 'object') {
26
27            trackEvent(data.category, data.action, data.label, data.value)
28
29            return;
30
31        }
32
33    };
34
35
36    var trackEvent = function (category, action, label, value) {
37
38        if (typeof console.log !== 'undefined') {
39            console.log('trackEvent', category, action, label, value);
40        }
41
42        if (typeof dataLayer !== "undefined") {
43            console.log('hiya!');
44            dataLayer.push({
45                'event': 'trackEvent',
46                'trackEventCategory': kvn(category),
47                'trackEventAction': kvn(action),
48                'trackEventLabel': kvn(label),
49                'trackEventValue': typeof value !== 'undefined' ? value : 0
50            });
51        }
52
53    };
54
55    var kvn = function (obj) {
56
57        if (typeof obj !== 'object') {
58            return obj;
59        }
60
61        var newObj = {};
62        var keys = [], k, i, len;
63
64        for (k in obj) {
65            if (obj.hasOwnProperty(k)) {
66                keys.push(k);
67            }
68        }
69
70        keys.sort();
71
72        len = keys.length;
73        for (i = 0; i < len; i++) {
74            newObj[keys[i]] = obj[keys[i]];
75        }
76
77        var value = "";
78
79        for (var key in newObj) {
80            if (newObj.hasOwnProperty(key)) {
81                value += key + ":" + newObj[key] + "; ";
82            }
83        }
84
85        if (typeof console.log !== 'undefined') {
86            console.log('value', value);
87        }
88        return value;
89
90    };
91
92    $('a[data-track]').UniversalTracking();
93
94}(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.