mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-06-06 17:51:15 -04:00
78 lines
1.9 KiB
JavaScript
78 lines
1.9 KiB
JavaScript
|
|
modulejs.define('ext/google-analytics-ga', ['_', 'core/settings'], function (_, allsettings) {
|
|
|
|
var settings = _.extend({
|
|
enabled: false,
|
|
gaq: []
|
|
}, allsettings['google-analytics-ga']),
|
|
|
|
init = function () {
|
|
|
|
if (!settings.enabled) {
|
|
return;
|
|
}
|
|
|
|
window._gaq = settings.gaq;
|
|
|
|
var scriptLiteral = 'script',
|
|
doc = document,
|
|
newScriptTag = doc.createElement(scriptLiteral),
|
|
firstScriptTag = doc.getElementsByTagName(scriptLiteral)[0];
|
|
|
|
newScriptTag.async = true;
|
|
newScriptTag.src = ('https:' === location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
firstScriptTag.parentNode.insertBefore(newScriptTag, firstScriptTag);
|
|
};
|
|
|
|
init();
|
|
});
|
|
|
|
|
|
modulejs.define('ext/google-analytics-ua', ['_', 'core/settings', 'core/event'], function (_, allsettings, event) {
|
|
|
|
var settings = _.extend({
|
|
enabled: false,
|
|
id: 'UA-000000-0'
|
|
}, allsettings['google-analytics-ua']),
|
|
|
|
win = window,
|
|
doc = document,
|
|
scriptLiteral = 'script',
|
|
id = 'h5ai-ga',
|
|
|
|
init = function () {
|
|
|
|
if (!settings.enabled) {
|
|
return;
|
|
}
|
|
|
|
var el, firstScriptElement;
|
|
|
|
win.GoogleAnalyticsObject = id;
|
|
win[id] = win[id] || function () {
|
|
(win[id].q = win[id].q || []).push(arguments);
|
|
};
|
|
win[id].l = 1 * new Date();
|
|
|
|
el = doc.createElement(scriptLiteral);
|
|
el.async = true;
|
|
el.src = '//www.google-analytics.com/analytics.js';
|
|
|
|
firstScriptElement = doc.getElementsByTagName(scriptLiteral)[0];
|
|
firstScriptElement.parentNode.insertBefore(el, firstScriptElement);
|
|
|
|
win[id]('create', settings.id, 'auto');
|
|
|
|
event.sub('location.changed', function (item) {
|
|
|
|
var loc = win.location;
|
|
win[id]('send', 'pageview', {
|
|
location: loc.protocol + '//' + loc.hostname + item.absHref,
|
|
page: loc.protocol + '//' + loc.host + item.absHref,
|
|
title: _.pluck(item.getCrumb(), 'label').join(' > ')
|
|
});
|
|
});
|
|
};
|
|
|
|
init();
|
|
});
|