我正在尝试制作一个在特定日期到期的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>
BONUS有没有办法将cookie设置为变量的值?
答案 0 :(得分:1)
您用于设置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>