From 21e0738f8c9507d376f7941a7c9d2eb0374341b3 Mon Sep 17 00:00:00 2001 From: Teppo Jalava Date: Wed, 23 Aug 2017 10:13:56 +0300 Subject: [PATCH] Add check to see if ga is already loaded --- src/api/ga.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/api/ga.js b/src/api/ga.js index 9c7f98c..4f7da47 100644 --- a/src/api/ga.js +++ b/src/api/ga.js @@ -1,21 +1,23 @@ /* global ga, sizeme_options */ -(function (i, s, o, g, r) { - i["GoogleAnalyticsObject"] = r; - i[r] = i[r] || - function () { - (i[r].q = i[r].q || []).push(arguments); - }; - i[r].l = 1 * new Date(); - let a = s.createElement(o); - let 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"); - let gaTrackingId = sizeme_options.gaTrackingId; let gaEnabled = gaTrackingId !== null; +if (gaEnabled && !ga) { + (function (i, s, o, g, r) { + i["GoogleAnalyticsObject"] = r; + i[r] = i[r] || + function () { + (i[r].q = i[r].q || []).push(arguments); + }; + i[r].l = 1 * new Date(); + let a = s.createElement(o); + let 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"); +} + let trackEvent = (action, label) => { if (gaEnabled) { ga("create", gaTrackingId, "auto", { name: "sizemeTracker" });