javascript - 如何在 Javascript 中设置 cookie 的过期日期

标签 javascript cookies expired-cookies

我正在尝试制作一个在特定日期到期的 cookie。在 w3schools 上,他们说使用

设置它
document.cookie="mediaType=Video; expires=Fri, 13 Mar 2015 12:00:00 UTC";

但是在我的代码中它似乎不起作用。我做错了什么?

<script>
    var mediaType = "image";
    function checkCookies(){
            document.getElementById("div").innerHTML = document.cookie;
    }
    function getType() {
        document.cookie="mediaType=Video; expires=Fri, 13 Mar 2015 12:00:00 UTC";
        document.getElementById("div").innerHTML = document.cookie
    }
</script>

<body onload="checkCookies()">
    <select onChange="mediaType = this.value">
      <option value="image">Image</option>
      <option value="link">Link</option>
      <option value="text">Text</option>
    </select>
</body>

<div id="div" onclick="getType()"> hi</div>

额外有没有办法将 cookie 设置为变量的值?

最佳答案

您用于设置 cookie 的方法是正确的,但在开始时未显示值,因为没有 cookie。请记住,您只能访问您网站设置的 cookie,因此一开始就没有任何 cookie。您可以添加一个测试 cookie 来查看您的代码是否正常工作,如以下示例所示,它还显示了如何在按照您的要求更改选择时更新 cookie 的值:

<script>
function checkCookies(){
    document.cookie="Test=Test Cookie; expires=Fri, 13 Mar 2015 12:00:00 UTC";
    document.getElementById("div").innerHTML = document.cookie;
}
function updateCookies(val) {
    document.cookie="mediaType="+ val +"; expires=Fri, 13 Mar 2015 12:00:00 UTC";
    document.getElementById("div").innerHTML = document.cookie;
}
</script>

<body onload="checkCookies()">
  <select onChange="updateCookies(this.value)">
    <option value="image">Image</option>
    <option value="link">Link</option>
    <option value="text">Text</option>
  </select>

  <div id="div"> hi</div>

</body>

关于javascript - 如何在 Javascript 中设置 cookie 的过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28977340/

相关文章:

java - 将 cookie-config 设置为 httpOnly 并在 web.xml 中保护后无法读取 JSESSIONID cookie

javascript - Cookie可以存储,但不能删除

javascript - emmet 的自定义 JavaScript 片段(在 Sublime Text 2 中)

javascript - 如何在嵌套 iframe 所在的原始窗口中打开链接?

javascript - 从 ul 中删除 li 元素

C# WebView 不理解 alert() 的 JavaScript 调用(Windows 8 XAML 应用程序)

php - php 无法识别网站 cookie

c# - 在 header 中拆分 Cookie

javascript - Cookie 的有效期不会改变。