This repository has been archived by the owner on Jun 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheager-satismeter.js
59 lines (51 loc) · 1.95 KB
/
eager-satismeter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
window.EagerSatisMeter = {
init: function(options) {
window.satismeter = window.satismeter || function() {
(window.satismeter.q = window.satismeter.q || []).push(arguments);
};
window.satismeter.l = 1 * new Date();
var script = document.createElement('script');
var parent = document.getElementsByTagName('script')[0].parentNode;
script.async = 1;
script.src = 'https://app.satismeter.com/satismeter.js';
parent.appendChild(script);
var settings = {};
settings.token = options.token;
settings.preview = INSTALL_ID === 'preview';
if (options.trackAnonymous) {
settings.trackAnonymous = true;
} else {
var user;
if (options.automaticUser) {
var emailRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
for (var k in window) {
if (k === 'frame' || k === 'frameElement' || k === 'parent' || k === 'opener' || k === 'top') {
continue;
}
if (window.hasOwnProperty(k)) {
try {
var val = window[k];
if (typeof v === 'object' && v.email && v.email && emailRegex.test(v.email)) {
user = {};
user.email = v.email;
user.id = v.id || v.ID || v.USER_ID || v.userId;
user.name = v.name || v.full_name || v.fullName || v.FULL_NAME || v.FULLNAME || (!v.firstName ? '' : v.firstName + v.lastName) || !v.username;
user.createdAt = v.createdAt || v.created_at || v.created || v.created_date || v.createdDate || v.CREATED_AT;
}
} catch (e) {}
}
}
} else {
try {
user = window.eval(options.manuallySpecifiedUser);
} catch (e) {}
}
if (user && typeof user === 'object' && user.email) {
settings.user = user;
} else {
return;
}
}
satismeter(settings);
}
};