From dafe30f3c6e2bb7e6ae5e2ef671947685c33f52f Mon Sep 17 00:00:00 2001 From: Kristof De Langhe Date: Fri, 23 Mar 2018 13:52:45 +0100 Subject: [PATCH] 50479: Google analytics only loaded when tracking id present --- src/index.csr.html | 6 ------ src/index.html | 6 ------ src/main.browser.ts | 19 +++++++++++++++---- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/index.csr.html b/src/index.csr.html index a2a48079ad..8c25dfa084 100644 --- a/src/index.csr.html +++ b/src/index.csr.html @@ -10,12 +10,6 @@ - diff --git a/src/index.html b/src/index.html index 2ea6498627..491a2d319c 100644 --- a/src/index.html +++ b/src/index.html @@ -10,12 +10,6 @@ - diff --git a/src/main.browser.ts b/src/main.browser.ts index 174c35f02f..a71186e8a2 100644 --- a/src/main.browser.ts +++ b/src/main.browser.ts @@ -25,14 +25,25 @@ export function main() { } }); - // Add google analytics key - const script = document.createElement('script'); - script.innerHTML = 'ga(\'create\', \'' + ENV_CONFIG.gaTrackingId + '\', \'auto\');'; - document.body.appendChild(script); + addGoogleAnalytics(); return platformBrowserDynamic().bootstrapModule(BrowserAppModule); } +function addGoogleAnalytics() { + // Add google analytics if key is present in config + const trackingId = ENV_CONFIG.gaTrackingId; + if (trackingId !== '' && trackingId !== null) { + const keyScript = document.createElement('script'); + keyScript.innerHTML = `(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');` + + 'ga(\'create\', \'' + ENV_CONFIG.gaTrackingId + '\', \'auto\');'; + document.body.appendChild(keyScript); + } +} + // support async tag or hmr if (hasValue(ENV_CONFIG.universal) && ENV_CONFIG.universal.preboot === false) { bootloader(main);