-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcookie-consent.js
More file actions
59 lines (52 loc) · 2.45 KB
/
Copy pathcookie-consent.js
File metadata and controls
59 lines (52 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
(function () {
var COOKIE_NAME = 'dlh_cookie_consent';
function getConsent() {
var m = document.cookie.match(/(?:^|;\s*)dlh_cookie_consent=([^;]+)/);
return m ? m[1] : localStorage.getItem(COOKIE_NAME);
}
function setConsent() {
document.cookie = COOKIE_NAME + '=1; path=/; domain=.datalabhell.ac.at; max-age=31536000; SameSite=Lax';
localStorage.setItem(COOKIE_NAME, '1');
}
function revokeConsent() {
document.cookie = COOKIE_NAME + '=; path=/; domain=.datalabhell.ac.at; max-age=0; SameSite=Lax';
localStorage.removeItem(COOKIE_NAME);
}
// Wire up any revoke links on the page (delegated so it works with dynamic footer)
document.addEventListener('click', function (e) {
if (e.target.closest('[data-cc-revoke]')) {
e.preventDefault();
revokeConsent();
showBanner();
}
});
if (getConsent()) return;
showBanner();
function showBanner() {
if (document.getElementById('cookie-banner')) return;
var lang = document.cookie.match(/(?:^|;\s*)dlh_lang=([^;]+)/)
? document.cookie.match(/(?:^|;\s*)dlh_lang=([^;]+)/)[1]
: localStorage.getItem('dlh_lang') || ((navigator.language || 'de').toLowerCase().startsWith('de') ? 'de' : 'en');
var t = lang === 'en'
? { title: 'Privacy Notice', body: 'This website uses only technically necessary cookies. No tracking or analytics cookies are used. For more information please see our <a href="https://datalabhell.ac.at/datenschutz.html">Privacy Policy</a>.', btn: 'Got it' }
: { title: 'Datenschutzhinweis', body: 'Diese Website verwendet ausschließlich technisch notwendige Cookies. Es werden keine Tracking- oder Analyse-Cookies eingesetzt. Weitere Informationen finden Sie in unserer <a href="https://datalabhell.ac.at/datenschutz.html">Datenschutzerklärung</a>.', btn: 'Verstanden' };
var banner = document.createElement('div');
banner.id = 'cookie-banner';
banner.innerHTML =
'<div class="cc-inner">' +
'<div class="cc-text">' +
'<strong>' + t.title + '</strong>' +
'<p>' + t.body + '</p>' +
'</div>' +
'<div class="cc-actions">' +
'<button id="cc-accept">' + t.btn + '</button>' +
'</div>' +
'</div>';
document.body.appendChild(banner);
document.getElementById('cc-accept').addEventListener('click', function () {
setConsent();
banner.classList.add('cc-hidden');
setTimeout(function () { banner.remove(); }, 400);
});
}
})();