Как узнать, совпадает ли значение cook ie или нет - PullRequest
0 голосов
/ 05 мая 2020

Я читаю cook ie значение для Cook ie Consent «CookieScriptConsent», который может хранить значения разными способами, например

{"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"}

Я использую плагин для чтения ie cook, который читает cook ie value Cookies.get('CookieScriptConsent');

Я сохраняю это значение в переменной, и теперь мне нужно прочитать значения, если cook ie было принято или отклонено.

var string= Cookies.get('CookieScriptConsent');

var res = str.match(/accept/gi)

Я использую match функция js, чтобы увидеть, нахожу ли я совпадение, она вернет значение или ноль, как я могу использовать это выражение if if или как лучше всего достичь этого

следует ли использовать var n = str.indexOf("accept"); поскольку он даст мне значение numeri c, которое можно легко использовать в операторе if, чтобы проверить, превышает ли значение 0

1 Ответ

1 голос
/ 05 мая 2020

Если данные, хранящиеся в cook ie, являются строковым объектом 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");
    }
}

Это также позволяет вам проверить, имеет ли это конкретное свойство значение.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...