关于js操作cookies

ymf2004 2008-01-30 12:57:00
各位,我想问一下用js操作cookies为什么会记录路径?默认是当前页面的父目录,这样我网站其它目录的文件无法获得到之前那个cookies,应该如何解决呢?比如我的网站为A(文件夹)有两个子文件夹B和C,其中B中有b.asp,C中有c.asp

现在我让b.asp添加一个cookies,在客户端查看cookie文件名为B/

这样c.asp就无法获取之前那个cookies了,请问一下有什么解决的方法呢?
...全文
1235 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mingxingxinxing 2011-11-03
  • 打赏
  • 举报
回复
很好,不错
tantaiyizu 2008-01-30
  • 打赏
  • 举报
回复
5楼的就很好啊
xiaojing7 2008-01-30
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>Cookie处理函数练习</title>
<script language="JavaScript" type="text/javascript">
var $=function(el){
return (typeof el=='object')?el:document.getElementById(el);
};
var addCookie=function(objName,objValue,objHours){//添加cookie
var str = objName + "=" + escape(objValue);
if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objHours*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
alert("添加cookie成功");
};
var getCookie=function(objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++){
var temp = arrStr[i].split("=");
if(temp[0] == objName){
return unescape(temp[1]);
}
}
};
var delCookie=function(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间
var date = new Date();
date.setTime(date.getTime() - 10000);
document.cookie = name + "=a; expires=" + date.toGMTString();
alert("删除成功");
};
var add=function(){//添加Cookie
var cookie_name = $("cookie_name").value;
var cookie_value = $("cookie_value").value;
var cookie_expireHours = $("cookie_expiresHours").value;
if(cookie_name==""||cookie_value==""){
alert("请填写完整Cookie的名称和值");
return;
}
addCookie(cookie_name,cookie_value,cookie_expireHours);
};
var getall=function(){//读取所有保存的cookie字符串
var str = document.cookie;
if(str == ""){
str = "没有保存任何cookie";
}
alert(str);
};
var get=function(){//读取单个该名称的cookie
var cookie_name = $("cookie_name").value;
var cookie_value = getCookie(cookie_name);
if(cookie_name ==""){
alert("请填写名称,根据名称进行查找");
return;
}
if(cookie_value==null){
cookie_value="没有该名称的cookie";
}
alert(cookie_value);
};
var del=function(){//删除该名称的cookie
var cookie_name = $("cookie_name").value;
if(cookie_name==""){
alert("请填写名称,根据名称进行删除");
return;
}
delCookie(cookie_name);
};
</script>
</head>
<body>
<form name="myform">
<div><label for="cookie_name">Cookie名称:</label><input type="text" name="cookie_name" /></div>
<div><label for="cookie_value">Cookie  值:</lable><input type="text" name="cookie_value" /></div>
<div><label for="cookie_expireHours">过期时间(小时):</lable><input type="text" name="cookie_expiresHours" /></div><hr/>
<div>
<input type="button" value="添加该cookie" onclick="add()" />
<input type="button" value="读取所有cookie" onclick="getall()" />
<input type="button" value="读取该名称cookie的值" onclick="get()" />
<input type="button" value="删除该名称cookie" onclick="del()" />
</div>
</form>
<hr />
</body>
</html>

littlelam 2008-01-30
  • 打赏
  • 举报
回复
关键在于path="/"
littlelam 2008-01-30
  • 打赏
  • 举报
回复

<script>
function setCookie(name, value, expires, path, domain)
{
if(!expires) expires = -1;
if(!path) path = "/";
var d = "" + name + "=" + value;

var e;
if (expires < 0) {
e = "";
}
else if (expires == 0) {
var f = new Date(1970, 1, 1);
e = ";expires=" + f.toUTCString();
}
else {
var now = new Date();
var f = new Date(now.getTime() + expires * 1000);
e = ";expires=" + f.toUTCString();
}
var dm;
if(!domain){
dm = "";
}
else{
dm = ";domain=" + domain;
}

document.cookie = name + "=" + value + ";path=" + path + e + dm;
};

function getCookie(a)
{
var b = String(document.cookie);
var c = b.indexOf(a + "=");

if (c != -1) {
var d = b.indexOf(";", c);
d = d == -1 ? b.length : d;
c = c + a.length + 1;
if(b.charAt(c)=='"'&&b.charAt(d-1)=='"'){
c+=1;d-=1;
}
if(c>=d)
return "";
return b.substring(c, d);
}

return "";
};
//setCookie("good", "hel43lo", 365, "/", document.domain)
//注意用"/"全站就可以读取了
document.write(getCookie("good"));
//alert(document.domain);
</script>
ymf2004 2008-01-30
  • 打赏
  • 举报
回复
??
我是想让我整个网站的页面都能访问同一个cookies,这个cookies可以通过任何页面建立和修改!
tantaiyizu 2008-01-30
  • 打赏
  • 举报
回复
document,cookie

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧