为什么设置Cookie失败

Eri 2007-07-17 07:25:44
用的是框架
左边,left页面:
function setCookie(name,value,h)
{
var exp = new Date();
exp.setTime(exp.getTime() + h * 60 * 60 * 1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function openLink(url)
{
setCookie("myframe", "left", 1);
window.parent.frames["mainFrame"].location.href = url;
}

中间页面
function window_onload()
{
var myframe = getCookie("myframe");
var exp = "";
if (myframe && (myframe == "left"))
{
exp = selexpect;
}
else
{
if (getCookie("DadiZcExpect") && (getCookie("DadiZcExpect") != ""))
exp = getCookie("DadiZcExpect");
else
exp = selexpect;
}
setnselect("expect", exp);//设置当前期
if (getCookie("zcgid") && (getCookie("zcgid") != ""))
GradeClick(getCookie("zcgid"));
else
GradeClick(1);
setCookie("myframe", "center", 1);
alert(getCookie("myframe"));
}

点击左边的菜单,然后中间显示,执行window_onload();
可是alert出来的值一直是left,请问什么原因?

后来在onunload()事件里也不行
function window_onunload()
{
setCookie("myframe", "left", 1);
}

郁闷。
...全文
758 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eri 2007-07-18
  • 打赏
  • 举报
回复
hbhbhbhbhb1021 是对的,奇怪了,结贴吧,我还以为有什么bug之类的。
lsyer 2007-07-18
  • 打赏
  • 举报
回复
要么就应该主要看下那个过期时间是否正确了。
hbhbhbhbhb1021 2007-07-18
  • 打赏
  • 举报
回复
get的那个方法是怎么写的啊,我测试了下,没有你说的情况发生啊!帖出测试的代码
三个文件,直接考下去存成文件就可以了
main.htm
<frameset cols="100,*" name="ddd">
<frame src="4.htm">
<frame name="mainFrame" src="about:blank">
</frameset>

4.htm*************************************************************
<SCRIPT>
function setCookie(name,value,h)
{
var exp = new Date();
exp.setTime(exp.getTime() + h * 60 * 60 * 1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function openLink(url)
{
setCookie("myframe", "left", 1);
top.mainFrame.document.location.href = url;
}
</SCRIPT>
<a href="#" onclick="openLink('3.htm')">asdasdasd</a>

3.htm********************************************************************
<script language=javascript>
function setCookie(name,value,h)
{
var exp = new Date();
exp.setTime(exp.getTime() + h * 60 * 60 * 1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) {
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
}
function getCookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return getCookieVal(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return "";
}
function windowOnload()
{
var myframe = getCookie("myframe");
alert(myframe)
setCookie("myframe", "center", 1);
alert(getCookie("myframe"));
}
</script>
<body onload="windowOnload()">
Eri 2007-07-17
  • 打赏
  • 举报
回复
写了的,不写肯定会报错呀。
hbhbhbhbhb1021 2007-07-17
  • 打赏
  • 举报
回复
function setCookie(name,value,h)
{
var exp = new Date();
exp.setTime(exp.getTime() + h * 60 * 60 * 1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
这个在中间的页面写没?
pol000 2007-07-17
  • 打赏
  • 举报
回复
看贴了
Eri 2007-07-17
  • 打赏
  • 举报
回复
可是alert出来的值一直是left,请问什么原因?

回帖不看贴100%没分。
xredleaf 2007-07-17
  • 打赏
  • 举报
回复
可能cookie被禁用了,没看代码

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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