add DNT DoNotTrack Support :

When browser make request with DNT header set to yes or 1, set all services to false
and service.fallback if needed. tarteaucitronAlertBig is not displayed/needed
but tarteaucitronAlertSmall is.
This commit is contained in:
eldk 2018-06-12 01:52:31 +02:00
parent dd05f9d213
commit 87d590e476
1 changed files with 8 additions and 0 deletions

View File

@ -405,6 +405,7 @@ var tarteaucitron = {
isDenied = (cookie.indexOf(service.key + '=false') >= 0) ? true : false,
isAllowed = (cookie.indexOf(service.key + '=true') >= 0) ? true : false,
isResponded = (cookie.indexOf(service.key + '=false') >= 0 || cookie.indexOf(service.key + '=true') >= 0) ? true : false;
isDNTRequested = (navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1" || window.doNotTrack === "1") ? true : false;
if (tarteaucitron.added[service.key] !== true) {
tarteaucitron.added[service.key] = true;
@ -462,6 +463,13 @@ var tarteaucitron = {
}
tarteaucitron.state[service.key] = false;
tarteaucitron.userInterface.color(service.key, false);
} else if (!isResponded && isDNTRequested) {
tarteaucitron.cookie.create(service.key, 'false');
if (typeof service.fallback === 'function') {
service.fallback();
}
tarteaucitron.state[service.key] = false;
tarteaucitron.userInterface.color(service.key, false);
} else if (!isResponded) {
tarteaucitron.cookie.create(service.key, 'wait');
if (typeof service.fallback === 'function') {