在Javascript中设置多个cookie
我试图在在Javascript中设置多个cookie,javascript,cookies,Javascript,Cookies,我试图在document.cookie中设置多个cookie,但不幸的是,只添加了一个cookie 我知道在网上有很多设置这种cookies的例子,我也遵循其中一个。但我仍然无法说明这一点。 我按照这个来做饼干 我的代码: function setCookie(start_time,end_session_time,total_time,flag,count){ var cookie_string = "start_time="+start_time;; if(end_
document.cookie
中设置多个cookie,但不幸的是,只添加了一个cookie
我知道在网上有很多设置这种cookies的例子,我也遵循其中一个。但我仍然无法说明这一点。
我按照这个来做饼干
我的代码:
function setCookie(start_time,end_session_time,total_time,flag,count){
var cookie_string = "start_time="+start_time;;
if(end_session_time) {
cookie_string +="; end_session_time="+end_session_time;
}
if(total_time){
cookie_string +="; total_time="+total_time;
}
if(flag){
cookie_string +="; flag="+flag;
}
if(count){
cookie_string +="; count="+count;
}
document.cookie =cookie_string ;
console.log(cookie_string);
console.log("document.cookie ="+ document.cookie);
}
cookie_string :: start_time=1369926508266; flag=1; count=1
document.cookie =start_time=1369926508266;
输出:
function setCookie(start_time,end_session_time,total_time,flag,count){
var cookie_string = "start_time="+start_time;;
if(end_session_time) {
cookie_string +="; end_session_time="+end_session_time;
}
if(total_time){
cookie_string +="; total_time="+total_time;
}
if(flag){
cookie_string +="; flag="+flag;
}
if(count){
cookie_string +="; count="+count;
}
document.cookie =cookie_string ;
console.log(cookie_string);
console.log("document.cookie ="+ document.cookie);
}
cookie_string :: start_time=1369926508266; flag=1; count=1
document.cookie =start_time=1369926508266;
Cookie是键值对(添加了一些可选的附加信息,如到期日)。要设置多个,只需多次设置
document.cookie
。代码>分隔符用于指定附加信息,而不是添加更多不同的cookie 通过document.cookie=“name=value”
要添加多个键,应执行多个分配
function setCookie(start_time, end_session_time, total_time, flag, count) {
document.cookie = "start_time=" + start_time;
if (end_session_time) {
document.cookie = "end_session_time=" + end_session_time;
}
if (total_time) {
document.cookie = "total_time=" + total_time;
}
if (flag) {
document.cookie = "flag=" + flag;
}
if (count) {
document.cookie = "count=" + count;
}
console.log("document.cookie = " + document.cookie);
}
下面是一个添加、列出和删除多个cookie的示例
<!DOCTYPE html>
<html>
<head>
<script>
var n=1;
function addCookie(){
document.cookie=n+"="+n;n++;
}
function ListCookies(){
var result = document.cookie;
document.getElementById("p").innerHTML=result;
}
function removeCookies(){
//document.cookie="";
var result = document.cookie;
var cookieArray = result.split(";");
for(var i=0;i<cookieArray.length;i++){
var keyValArr = cookieArray[i].split("=");
document.cookie=keyValArr[0]+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
}
}
</script>
</head>
<body>
<button onclick='addCookie()'>ADD COOKIE</button><br>
<button onclick='ListCookies()'>LIST COOKIES</button>
<button onclick='removeCookies()'>REMOVE COOKIES</button>
<h1>RESULT:</h1>
<p id="p"></p>
</body>
</html>
var n=1;
函数addCookie(){
document.cookie=n+“=”+n;n++;
}
函数ListCookies(){
var result=document.cookie;
document.getElementById(“p”).innerHTML=result;
}
函数removeCookies(){
//document.cookie=“”;
var result=document.cookie;
var cookieArray=result.split(“;”);
对于(var i=0;iSee,我认为这不起作用-因为这违反直觉-但它确实起作用了!-OIs第2行有2个分号的原因吗?还是那是个错误?@Jaketr00那一定是个错误。我编辑了它。@Brad,是的…正是我用谷歌搜索它并最终出现在这里的原因:)。是否可以删除特定的cookie?而不是删除所有cookie。假设,我一个接一个地添加了三个值。我想删除第二个cookie。请您帮助@mateenyes这是可能的,在删除cookie之前检查是否要删除cookie。例如*********************如果(您的条件){document.cookie=keyValArr[0]+“=;expires=Thu,1970年1月1日00:00:00 UTC”}请您检查一下这个问题。请提供一个代码示例。我相信第二次设置document.cookie变量会覆盖第一个值,不是吗?这是违反直觉的,但是设置document.cookie
不会覆盖已经设置的cookie,除非存在同名的cookie。并且删除cookie的方法是将其过期日期设置为过去。我建议您在浏览器的开发工具中进行试验!