forked from josemarluedke/ember-cli-segment
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
40 lines (33 loc) · 1.73 KB
/
index.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
'use strict';
module.exports = {
name: '@alyne.com/ember-cli-segment',
contentFor: function(type, config) {
if (type === 'body-footer') {
if (!config.segment || !config.segment.WRITE_KEY) {
return '';
}
let nonceAttr = '';
if (config.segment.cspNonce) {
nonceAttr = `nonce="${config.segment.cspNonce}" `;
}
const proxyDomain = config.segment.proxyDomain;
let segmentDomain = proxyDomain || 'https://cdn.segment.com/';
if (!/\/$/.test(segmentDomain)) {
segmentDomain += '/';
}
return (
'<script ' +
nonceAttr +
'type="text/javascript">' +
'!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="' +
segmentDomain +
'analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0";' +
'analytics.load("' +
config.segment.WRITE_KEY +
'");' +
'}}();' +
'</script>'
);
}
}
};