检查我创建的特定 cookie 是否存在,如果不是我的 cookie 栏通知,则执行下一个功能
Check whether a specific cookie I created is present and to execute the next function if it is not for my cookie bar notice
我是 javascript 的新手,我一直在尝试编写 cookie 栏通知。
我学会了如何使用 javascript 将 cookie 栏的 html 插入页面,以及如何使用 name/value 对 (CookieConsent=true) 创建 cookie单击接受按钮。
但我一直坚持 - 检查页面加载后是否存在特定 cookie (CookieConsent=true) 并执行以下操作:
- 如果cookie存在,不触发插入cookie栏html功能
- 如果cookie不存在,触发插入cookie栏html功能
我试图确保在页面加载时触发 cookie 检查功能,并且现在选择使用 EventListener - DOMContentLoaded。
这是一个基本示例来说明我的代码布局:
// When DOM has loaded trigger cookieCheck function
document.addEventListener('DOMContentLoaded', cookieCheck);
// Checks whether cookie is present and whether to execute cookiebar function or not
function cookieCheck() {
}
// Insert HTML for cookiebar notice and accept button into page
function cookiebar() {
// The accept button triggers the create cookie function with
// a name/value pair of CookieConsent=true
}
// Creates consent cookie
function createCookie() {
}
我不会包括我试图为我的问题编写的代码,因为它完全是一团糟,毫无意义。对不起。
我一直在使用 w3schools javascript cookies tutorial 并在 Internet 上找到了许多其他示例来了解如何设置、获取和检查 cookie。但是对于我的代码,我完全卡住了。
您可以尝试使用此解决方案:
// When DOM has loaded trigger cookieCheck function
document.addEventListener('DOMContentLoaded', cookieCheck);
// Checks whether cookie is present and whether to execute cookiebar function or not
function cookieCheck() {
const cookies = getCookies();
if(cookies.CookieConsent) {
/**
* Do your stuff when cookie is set
**/
cookiebar();
} else {
/**
* Do your stuff when cookie is NOT set
**/
}
}
// Insert HTML for cookiebar notice and accept button into page
function cookiebar() {
/**
* Function for CookieBar insertion
**/
}
// Creates consent cookie
function createCookie(name, value) {
document.cookie = [name, value].join('=');
}
function getCookies() {
let cookies = {};
document.cookie.split(";").forEach((cookie) => {
cookie = cookie.trim().split("=");
let name = cookie[0];
let val = cookie[1];
cookies[name] = val;
});
return cookies;
}
我是 javascript 的新手,我一直在尝试编写 cookie 栏通知。
我学会了如何使用 javascript 将 cookie 栏的 html 插入页面,以及如何使用 name/value 对 (CookieConsent=true) 创建 cookie单击接受按钮。
但我一直坚持 - 检查页面加载后是否存在特定 cookie (CookieConsent=true) 并执行以下操作:
- 如果cookie存在,不触发插入cookie栏html功能
- 如果cookie不存在,触发插入cookie栏html功能
我试图确保在页面加载时触发 cookie 检查功能,并且现在选择使用 EventListener - DOMContentLoaded。
这是一个基本示例来说明我的代码布局:
// When DOM has loaded trigger cookieCheck function
document.addEventListener('DOMContentLoaded', cookieCheck);
// Checks whether cookie is present and whether to execute cookiebar function or not
function cookieCheck() {
}
// Insert HTML for cookiebar notice and accept button into page
function cookiebar() {
// The accept button triggers the create cookie function with
// a name/value pair of CookieConsent=true
}
// Creates consent cookie
function createCookie() {
}
我不会包括我试图为我的问题编写的代码,因为它完全是一团糟,毫无意义。对不起。
我一直在使用 w3schools javascript cookies tutorial 并在 Internet 上找到了许多其他示例来了解如何设置、获取和检查 cookie。但是对于我的代码,我完全卡住了。
您可以尝试使用此解决方案:
// When DOM has loaded trigger cookieCheck function
document.addEventListener('DOMContentLoaded', cookieCheck);
// Checks whether cookie is present and whether to execute cookiebar function or not
function cookieCheck() {
const cookies = getCookies();
if(cookies.CookieConsent) {
/**
* Do your stuff when cookie is set
**/
cookiebar();
} else {
/**
* Do your stuff when cookie is NOT set
**/
}
}
// Insert HTML for cookiebar notice and accept button into page
function cookiebar() {
/**
* Function for CookieBar insertion
**/
}
// Creates consent cookie
function createCookie(name, value) {
document.cookie = [name, value].join('=');
}
function getCookies() {
let cookies = {};
document.cookie.split(";").forEach((cookie) => {
cookie = cookie.trim().split("=");
let name = cookie[0];
let val = cookie[1];
cookies[name] = val;
});
return cookies;
}