簡體   English   中英

適用於 GDPR 的 Javascript 或 JQuery 中的 Cookie

[英]Cookie in Javascript or JQuery for GDPR

在 HTML/CSS“動畫”之外,我對 Javascript/JQuery 的經驗有限。

我有一個不使用 cookies 的網站,並且我有一個橫幅顯示在頁面上加載一個聲明。 顯然,每次頁面加載時都會出現這種情況。

我想通過“確定”按鈕/鏈接設置一個 cookie,例如 60 天,在頁面加載時讀取,如果是肯定的,則不顯示該 cookie 橫幅。

我一直在搜索互聯網,但我很難找到我認為如果你知道如何實現的話應該是一件簡單的事情。

我也不確定是否使用'just' Javascript 或庫(JQuery)來實現這一點。

從概念上講,我認為我需要這樣的東西:

在頁面加載時,查找 cookie,如果為正值,則不顯示 cookie 橫幅,否則顯示 cookie 橫幅。 cookie 橫幅上的“確定”按鈕創建具有正值的 cookie。 cookie 將在 60 天后過期。

這是我正在努力解決的語法。 有人可以幫忙嗎?

所需的功能 = 只需將其復制粘貼到您的 js 文件中,我們只需要它們添加和讀取 cookies。

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/; sameSite=Strict";
}
function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

這是您需要了解正在發生的事情的部分。

要設置 cookie,請添加此行

setCookie("cookieConsent", "YES", 60);

這將調用之前粘貼的 function 副本,並設置一個名為 cookieConsent 且值為 YES 的 cookie。 數字 60 是 cookies 應該存儲多少天。

因此,如果您可以確定需要設置 cookie 的位置,那么只需復制粘貼該代碼即可。

閱讀說餅干。 我們總是可以通過這個檢查用戶是否有 cookies

if(getCookie("cookieConsent") === "YES"){
    console.log("They said already said yes, dont show banner")
}

帶有 console.log() 的行可以替換為您希望使用的任何所需的 function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM