65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
// Check if cookie banner has been accepted by running cookieAccepted()
|
|
|
|
// Please import cookie.css!!!!
|
|
|
|
function __cookie_internal_addBanner__(){
|
|
let banner = document.createElement("div");
|
|
let text = document.createElement("div");
|
|
let link_datenschutz = document.createElement("a");
|
|
let button_accept = document.createElement("button");
|
|
let button_deny = document.createElement("button");
|
|
|
|
banner.classList.add("cookie-banner");
|
|
|
|
text.innerText =
|
|
"In order for this computer to keep it's data after reloading,\
|
|
this page uses cookies and localStorage. ";
|
|
|
|
link_datenschutz.href = "https://yokta.de/i/datenschutz.html";
|
|
link_datenschutz.innerText = "Privacy Policy";
|
|
link_datenschutz.target = "_blank";
|
|
text.appendChild( link_datenschutz );
|
|
|
|
button_accept.innerText = "I'm ok with that"
|
|
button_deny.innerText = "Not on my watch!"
|
|
|
|
button_accept.addEventListener("click", (message) => {
|
|
localStorage.setItem("cookie", "accepted");
|
|
let parent = message.target.parentElement;
|
|
document.body.removeChild(parent);
|
|
});
|
|
button_deny.addEventListener("click", (message) => {
|
|
let parent = message.target.parentElement;
|
|
document.body.removeChild(parent);
|
|
});
|
|
|
|
|
|
banner.appendChild( text );
|
|
banner.appendChild( button_accept );
|
|
banner.appendChild( button_deny );
|
|
|
|
document.body.appendChild(banner);
|
|
}
|
|
|
|
// Returns true if cookies are accepted
|
|
function cookieAccepted() {
|
|
let maybe_cookie_status = localStorage.getItem("cookie");
|
|
let cookie_status = 0; // 0 = not answered, 1 = accepted, 2 = denied
|
|
|
|
if( maybe_cookie_status == null ) cookie_status = 0;
|
|
else if(maybe_cookie_status == "accepted") cookie_status = 1;
|
|
else cookie_status = 2;
|
|
|
|
if (cookie_status == 1) return true;
|
|
if (cookie_status == 0) {
|
|
let maybe_banner = document.getElementsByClassName("cookie-banner")[0];
|
|
if(maybe_banner == undefined){
|
|
__cookie_internal_addBanner__();
|
|
}
|
|
|
|
return false;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
cookieAccepted(); |