html Javascript -设置浏览器Cookie

5cg8jx4n  于 2022-11-20  发布在  Java
关注(0)|答案(2)|浏览(189)

当用户点击一个按钮,它会把他们带到一个链接,但在他们去该链接之前,cookie将需要设置为英语(EN)或法语(FR).我有一个例子在这里:http://www.quirksmode.org/js/cookies.html
但由于某种原因,它没有阅读cookie,我不知道我哪里出错了。

<!DOCTYPE html>
<html>
<body>

<p>This is for the Browser Cookies.</p>

<button onclick="EN_Cookie()">English Link</button>  <button onclick="FR_Cookie()">French Link</button>

<script>
function EN_Cookie() {  
    setCookie("SMDCookie","EN",7);
    //location.href = 'https://google.com';
}

function FR_Cookie() {
   setCookie("SMDCookie","FR",7);
   //location.href = 'https://google.com';
}

function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

</script>

</body>
</html>

有什么建议吗?

f45qwnt8

f45qwnt81#

我检查了你的代码,发现你的设置cookie功能是正确的。可能是你的getCookie不工作,我分享得到cookie功能:

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.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 "";
 }
qxsslcnc

qxsslcnc2#

以下是可用于创建和检索Cookie的函数

function createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

How do I create and read a value from cookie with javascript?复制

相关问题