137 lines
3.3 KiB
JavaScript
137 lines
3.3 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// based on https://github.com/gorhill/uBlock/blob/6f49e079db0262e669b70f4169924f796ac8db7c/src/web_accessible_resources/google-analytics_ga.js
|
|
|
|
"use strict";
|
|
|
|
if (!window._gaq) {
|
|
function noopfn() {}
|
|
|
|
const gaq = {
|
|
Na: noopfn,
|
|
O: noopfn,
|
|
Sa: noopfn,
|
|
Ta: noopfn,
|
|
Va: noopfn,
|
|
_createAsyncTracker: noopfn,
|
|
_getAsyncTracker: noopfn,
|
|
_getPlugin: noopfn,
|
|
push: a => {
|
|
if (typeof a === "function") {
|
|
a();
|
|
return;
|
|
}
|
|
if (!Array.isArray(a)) {
|
|
return;
|
|
}
|
|
if (
|
|
typeof a[0] === "string" &&
|
|
/(^|\.)_link$/.test(a[0]) &&
|
|
typeof a[1] === "string"
|
|
) {
|
|
window.location.assign(a[1]);
|
|
}
|
|
if (
|
|
a[0] === "_set" &&
|
|
a[1] === "hitCallback" &&
|
|
typeof a[2] === "function"
|
|
) {
|
|
a[2]();
|
|
}
|
|
},
|
|
};
|
|
|
|
const tracker = {
|
|
_addIgnoredOrganic: noopfn,
|
|
_addIgnoredRef: noopfn,
|
|
_addItem: noopfn,
|
|
_addOrganic: noopfn,
|
|
_addTrans: noopfn,
|
|
_clearIgnoredOrganic: noopfn,
|
|
_clearIgnoredRef: noopfn,
|
|
_clearOrganic: noopfn,
|
|
_cookiePathCopy: noopfn,
|
|
_deleteCustomVar: noopfn,
|
|
_getName: noopfn,
|
|
_setAccount: noopfn,
|
|
_getAccount: noopfn,
|
|
_getClientInfo: noopfn,
|
|
_getDetectFlash: noopfn,
|
|
_getDetectTitle: noopfn,
|
|
_getLinkerUrl: a => a,
|
|
_getLocalGifPath: noopfn,
|
|
_getServiceMode: noopfn,
|
|
_getVersion: noopfn,
|
|
_getVisitorCustomVar: noopfn,
|
|
_initData: noopfn,
|
|
_link: noopfn,
|
|
_linkByPost: noopfn,
|
|
_setAllowAnchor: noopfn,
|
|
_setAllowHash: noopfn,
|
|
_setAllowLinker: noopfn,
|
|
_setCampContentKey: noopfn,
|
|
_setCampMediumKey: noopfn,
|
|
_setCampNameKey: noopfn,
|
|
_setCampNOKey: noopfn,
|
|
_setCampSourceKey: noopfn,
|
|
_setCampTermKey: noopfn,
|
|
_setCampaignCookieTimeout: noopfn,
|
|
_setCampaignTrack: noopfn,
|
|
_setClientInfo: noopfn,
|
|
_setCookiePath: noopfn,
|
|
_setCookiePersistence: noopfn,
|
|
_setCookieTimeout: noopfn,
|
|
_setCustomVar: noopfn,
|
|
_setDetectFlash: noopfn,
|
|
_setDetectTitle: noopfn,
|
|
_setDomainName: noopfn,
|
|
_setLocalGifPath: noopfn,
|
|
_setLocalRemoteServerMode: noopfn,
|
|
_setLocalServerMode: noopfn,
|
|
_setReferrerOverride: noopfn,
|
|
_setRemoteServerMode: noopfn,
|
|
_setSampleRate: noopfn,
|
|
_setSessionTimeout: noopfn,
|
|
_setSiteSpeedSampleRate: noopfn,
|
|
_setSessionCookieTimeout: noopfn,
|
|
_setVar: noopfn,
|
|
_setVisitorCookieTimeout: noopfn,
|
|
_trackEvent: noopfn,
|
|
_trackPageLoadTime: noopfn,
|
|
_trackPageview: noopfn,
|
|
_trackSocial: noopfn,
|
|
_trackTiming: noopfn,
|
|
_trackTrans: noopfn,
|
|
_visitCode: noopfn,
|
|
};
|
|
|
|
const gat = {
|
|
_anonymizeIP: noopfn,
|
|
_createTracker: noopfn,
|
|
_forceSSL: noopfn,
|
|
_getPlugin: noopfn,
|
|
_getTracker: () => tracker,
|
|
_getTrackerByName: () => tracker,
|
|
_getTrackers: noopfn,
|
|
aa: noopfn,
|
|
ab: noopfn,
|
|
hb: noopfn,
|
|
la: noopfn,
|
|
oa: noopfn,
|
|
pa: noopfn,
|
|
u: noopfn,
|
|
};
|
|
|
|
window._gat = gat;
|
|
|
|
const aa = window._gaq || [];
|
|
if (Array.isArray(aa)) {
|
|
while (aa[0]) {
|
|
gaq.push(aa.shift());
|
|
}
|
|
}
|
|
|
|
window._gaq = gaq.qf = gaq;
|
|
}
|