Added check for do not track to tracker.

This commit is contained in:
Mike Cao 2025-03-01 17:18:46 -08:00
parent 925c756215
commit cb7eef200c

View file

@ -1,11 +1,12 @@
(window => { (window => {
const { const {
screen: { width, height }, screen: { width, height },
navigator: { language }, navigator: { language, doNotTrack: ndnt, msDoNotTrack: msdnt },
location, location,
document, document,
history, history,
top, top,
doNotTrack,
} = window; } = window;
const { hostname, href, origin } = location; const { hostname, href, origin } = location;
const { currentScript, referrer } = document; const { currentScript, referrer } = document;
@ -21,6 +22,7 @@
const hostUrl = attr(_data + 'host-url'); const hostUrl = attr(_data + 'host-url');
const tag = attr(_data + 'tag'); const tag = attr(_data + 'tag');
const autoTrack = attr(_data + 'auto-track') !== _false; const autoTrack = attr(_data + 'auto-track') !== _false;
const dnt = attr(_data + 'do-not-track') === _true;
const excludeSearch = attr(_data + 'exclude-search') === _true; const excludeSearch = attr(_data + 'exclude-search') === _true;
const excludeHash = attr(_data + 'exclude-hash') === _true; const excludeHash = attr(_data + 'exclude-hash') === _true;
const domain = attr(_data + 'domains') || ''; const domain = attr(_data + 'domains') || '';
@ -46,6 +48,11 @@
tag: tag ? tag : undefined, tag: tag ? tag : undefined,
}); });
const hasDoNotTrack = () => {
const dnt = doNotTrack || ndnt || msdnt;
return dnt === 1 || dnt === '1' || dnt === 'yes';
};
/* Event handlers */ /* Event handlers */
const handlePush = (state, title, url) => { const handlePush = (state, title, url) => {
@ -182,7 +189,8 @@
disabled || disabled ||
!website || !website ||
(localStorage && localStorage.getItem('umami.disabled')) || (localStorage && localStorage.getItem('umami.disabled')) ||
(domain && !domains.includes(hostname)); (domain && !domains.includes(hostname)) ||
(dnt && hasDoNotTrack());
const send = async (payload, type = 'event') => { const send = async (payload, type = 'event') => {
if (trackingDisabled()) return; if (trackingDisabled()) return;