首页 > 解决方案 > 为什么不设置这个 cookie?

问题描述

这段代码的目标是为页面的背景颜色设置一个 cookie。我不明白为什么cookie不会设置。

<select id="ddlTheme" onchange="setColorCookie()">
    <option value="Select Color">Select Color</option>
    <option value="red">Red</option>
    <option value="green">Green</option>
    <option value="blue">Blue</option>
</select>

<script>
window.onload = function() {
    if(document.cookie.length != 0) {
        var nameValueArray = document.cookie.split("=");
        document.getElementById("ddlTheme").value = nameValueArray[1];
        document.body.style.backgroundColor = nameValueArray[1];
        console.log("Window onload happened sir!");
    }
}
function setColorCookie() {
    var selectedValue = document.getElementById("ddlTheme").value;
    if (selectedValue != "Select Color") {
        document.body.style.backgroundColor = selectedValue;
        var d = new Date();
        d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
        var expires = "expires="+d.toUTCString();
        document.cookie = "color=" + selectedValue + ";" + expires;
        console.log("Set cookie");
    }
}
</script>

提前致谢!

标签: javascriptcookies

解决方案


在您的setColorCookie()函数中,您有一个exdays未定义的变量。


推荐阅读