【发布时间】:2018-11-10 02:03:32
【问题描述】:
我正在使用 cookiebot 来遵守 GDPR,但到目前为止,cookieBot 脚本似乎没有按预期工作。所以我必须添加一些额外的功能来更好地控制页面的内容,例如启用/禁用嵌入 Youtube 视频部分。
CookieBot 以以下格式在 cookie 上存储与 4 种类型相关的信息,不确定这是否是正确的 JSON 格式?
{stamp:'HMzWoJn8V4ZkdRN1DduMHLhS3dKiDDr6VoXCjjeuDMO2w6V+n2CcOg==',necessary:true,preferences:true,statistics:true,marketing:false,ver:1}
并使用CookieConsent 作为 cookie 的名称。
当用户使用addEventListener点击页面时,我正在尝试读取这些 cookie 的值
document.addEventListener("click", function () {
console.log("document capture click");
readCookies();
}, true);
function readCookies() {
console.log("Ready to Read");
Cookies.get('CookieConsent')
//Parse the cookie to Object
cookieval = Cookies.get('CookieConsent');
console.log(cookieval);
console.log("Necessary: " + Boolean(cookieval.necessary));
console.log("Prefrences: " + Boolean(cookieval.preferences));
console.log("Statistics: " + Boolean(cookieval.statistics));
console.log("Marketing: " + Boolean(cookieval.marketing));
}
对我来说,问题是所有值都返回为 false,我使用 https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js 读取 cookie 值,不知道为什么 cookieval.marketing 总是返回 false,即使它在 cookie 中为 true
输出
Ready to Read
{stamp:'HMzWoJn8V4ZkdRN1DduMHLhS3dKiDDr6VoXCjjeuDMO2w6V+n2CcOg==',necessary:true,preferences:true,statistics:true,marketing:false,ver:1}
Necessary: false
Prefrences: false
Statistics: false
Marketing: false
【问题讨论】:
-
document.cookie的返回值是多少? -
@str,它在
CookieConsent={stamp:'HMzWoJn8V4ZkdRN1DduMHLhS3dKiDDr6VoXCjjeuDMO2w6V+n2CcOg==',necessary:true,preferences:true,statistics:true,marketing:false,ver:1};之后返回 -
cookiebot 是否编写了那个 cookie?如果是,它们可能还提供读取它的功能。由于它不是 JSON,因此没有简单安全的方法来解析它。
-
@str,Cookie 是由 cookieBot 编写的,但他们没有提供任何功能让用户与 cookie 进行交互,因此我正在查看自定义功能
标签: javascript jquery json cookies