diff --git a/src/_h5ai/public/js/lib/ext/piwik-analytics.js b/src/_h5ai/public/js/lib/ext/piwik-analytics.js index 6c8a34fe..2c54ad57 100644 --- a/src/_h5ai/public/js/lib/ext/piwik-analytics.js +++ b/src/_h5ai/public/js/lib/ext/piwik-analytics.js @@ -17,17 +17,27 @@ const init = () => { // reference: http://piwik.org/docs/javascript-tracking/ const pkBaseURL = (win.location.protocol === 'https:' ? 'https://' : 'http://') + settings.baseURL + '/'; + const queue = []; let piwikTracker = null; dom('').attr('src', pkBaseURL + 'piwik.js').appTo('body'); onLoad(() => { - piwikTracker = win.Piwik.getTracker(pkBaseURL + 'piwik.php', settings.idSite); - piwikTracker.enableLinkTracking(); + piwikTracker = win.Piwik && win.Piwik.getTracker(pkBaseURL + 'piwik.php', settings.idSite); + if (piwikTracker) { + piwikTracker.enableLinkTracking(); + while (queue.length) { + piwikTracker.trackPageView(queue.shift()); + } + } }); event.sub('location.changed', item => { const title = item.getCrumb().map(i => i.label).join(' > '); - piwikTracker.trackPageView(title); + if (piwikTracker) { + piwikTracker.trackPageView(title); + } else { + queue.push(title); + } }); }; diff --git a/src/_h5ai/public/js/lib/main/info.js b/src/_h5ai/public/js/lib/main/info.js index 221939bf..7fcd1d86 100644 --- a/src/_h5ai/public/js/lib/main/info.js +++ b/src/_h5ai/public/js/lib/main/info.js @@ -40,8 +40,8 @@ const addTest = (label, info, passed, result) => { const $test = dom(testTpl).appTo('#tests'); $test.find('.label').text(label); $test.find('.result') - .addCls(passed ? 'passed' : 'failed') - .text(result ? result : passed ? 'yes' : 'no'); + .addCls(passed ? 'passed' : 'failed') + .text(result ? result : passed ? 'yes' : 'no'); $test.find('.info').html(info); };