我正在读取 Cookie 同意“CookieScriptConsent”的 cookie 值,它可以以不同的方式存储值,例如
{"action":"reject","categories":"[]"}
{"action":"accept","categories":"[]"}
{"action":"accept"}
{"action":"accept","categories":"[\"performance\",\"targeting\",\"functionality\"]","key":"58abddd4-493e-499a-9711-67644adc39af"}
{"action":"accept","categories":"[\"performance\"]","key":"24b56441-d831-4cd1-8e5f-47353257f500"}
我正在使用一个 cookie 读取插件来读取 cookie 值 Cookies.get('CookieScriptConsent');
我将此值存储在变量中,现在如果 cookie 被接受或拒绝,我需要读取值。
var string= Cookies.get('CookieScriptConsent');
var res = str.match(/accept/gi)
我正在使用match
js 的函数来查看我是否找到匹配项,它将返回值或 null 我如何使用此 if if 语句或实现此目的的最佳方法是什么
我应该使用var n = str.indexOf("accept");
因为它会给我一个数值,可以很容易地在 if 语句中使用它来检查值是否大于 0
最佳答案
如果 cookie 中存储的数据是字符串化的 JSON 对象,您可以尝试解析它并检查属性是否与您要查找的值匹配:
function getCookieData() {
var cookie = Cookies.get("CookieScriptConsent");
console.log("Raw data: ", cookie);
if (cookie) {
var scriptConsent = JSON.parse(cookie);
if (scriptConsent.action === "accept") {
console.log("Consented!");
} else {
console.log("Rejected!");
}
} else {
console.log("Cookie do not exists");
}
}
这还允许您检查此特定属性是否具有值。
希望对你有帮助!
关于javascript - 如何判断cookie值是否匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61607260/