小弟初学JS,写了一个cookie的例子,功能是用户首次进入页面,要求用户输入姓名,页面保存用户的名字作为cookie,下次用户进入同一个页面,系统自动弹出欢迎窗口。但运行时直接出现欢迎,然后一堆不知道什么的东东,请大虾帮忙debug一下function getcookie(c_name)这段。<body onload="checkcookie()">
<script type="text/javascript">function setcookie(c_name,value,expiredays)
{var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expiredays==null)
{expiredays="";}
else {expiredays=";expires="+exdate.toGMTString();}
document.cookie=c_name+"="+escape(value)+expiredays;
}
function getcookie(c_name)
{try{
if(document.cookie.length>1)
{
if(document.cookie.indexOf(c_name+"=")!=-1)
{c_start=document.cookie.indexOf(c_name+"=")
if(document.cookie.indexOf(";",c_start)!=-1)
{c_end=document.cookie.indexOf(";",c_start)}
else{c_end=document.cookie.length}
}
else {c_start=-1;c_end=document.cookie.length;}
return unescape(document.cookie.substring(c_start,c_end));
}
else return "";
}
catch(err)
{alert(err.description)}
}function checkcookie()
{username=getcookie('username');
if(username!=null&&username!="")
{alert('Welcome again,'+username+'!')}
else
{username=prompt('Please enter your name:',"");
setcookie('username',username,30)
}
}</script>
</body>
<script type="text/javascript">function setcookie(c_name,value,expiredays)
{var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expiredays==null)
{expiredays="";}
else {expiredays=";expires="+exdate.toGMTString();}
document.cookie=c_name+"="+escape(value)+expiredays;
}
function getcookie(c_name)
{try{
if(document.cookie.length>1)
{
if(document.cookie.indexOf(c_name+"=")!=-1)
{c_start=document.cookie.indexOf(c_name+"=")
if(document.cookie.indexOf(";",c_start)!=-1)
{c_end=document.cookie.indexOf(";",c_start)}
else{c_end=document.cookie.length}
}
else {c_start=-1;c_end=document.cookie.length;}
return unescape(document.cookie.substring(c_start,c_end));
}
else return "";
}
catch(err)
{alert(err.description)}
}function checkcookie()
{username=getcookie('username');
if(username!=null&&username!="")
{alert('Welcome again,'+username+'!')}
else
{username=prompt('Please enter your name:',"");
setcookie('username',username,30)
}
}</script>
</body>
解决方案 »
- Extjs4中 gridpanel怎么获取某一个单元格
- 急,在线等,导航可能因z-index关系,需要大家帮帮忙
- 初学javascript的问题!求高手解释!
- 急需答复 javascript function里面的值外面怎么读取?
- 字符串处理问题
- 如何用JavaScript判断System.Web.UI.WebControls.TextBox对象里的内容是否为数字?
- <input type=submit value=提交 align="midden">中的align="midden">是字体居中还是按钮居中?
- 大家帮助看一下,我的JAVASCRIPT那里错了.
- 用javascript在一个路径里面取一个文件名怎么取。。。
- 一定给分:哪里有javascript涵数大全的书下载的??
- IE下iframe背景色
- 救急?
<script type="text/javascript">
function setcookie(c_name,value,expiredays)
{var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expiredays==null)
{expiredays="";}
else {expiredays=";expires="+exdate.toGMTString();}
document.cookie=c_name+"="+escape(value)+expiredays;
}
function getcookie(c_name)
{try{
if(document.cookie.length>1)
{
if(document.cookie.indexOf(c_name+"=")!=-1)
{c_start=document.cookie.indexOf(c_name+"=")+c_name.length+1;
if(document.cookie.indexOf(";",c_start)!=-1)
{c_end=document.cookie.indexOf(";",c_start)}
else{c_end=document.cookie.length}
}
else {c_start=-1;c_end=document.cookie.length;}
return unescape(document.cookie.substring(c_start,c_end));
}
else return "";
}
catch(err)
{alert(err.description)}
} function checkcookie()
{username=getcookie('username');
if(username!=null&&username!="")
{alert('Welcome again,'+username+'!')}
else
{username=prompt('Please enter your name:',"");
setcookie('username',username,30)
}
} </script>
</body>
就是拿的时候c_start拿得不对.其他没问题.
出现那些怪东西原因是你那测试页面原来就有cookie存在.
你在script的最前面加句document.cookie="username=abc"
就不会了.
<body onload="checkcookie()">
<script type="text/javascript">
function setcookie(c_name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expiredays==null){expiredays="";}
else {expiredays=";expires="+exdate.toGMTString();}
document.cookie=c_name+"="+escape(value)+expiredays;
}function getcookie(c_name){
try{
if(document.cookie.length>1 && document.cookie.indexOf(c_name+"=")!=-1){
c_start=document.cookie.indexOf(c_name+"=")+c_name.length+1 ;
if(document.cookie.indexOf(";",c_start)!=-1) {c_end=document.cookie.indexOf(";",c_start)}
else{c_end=document.cookie.length}
return unescape(document.cookie.substring(c_start,c_end));
}
else return "";
}
catch(err){alert(err.description)}
} function checkcookie(){
username=getcookie('username');
if(username!="null" && username!=""){alert('Welcome again,'+username+'!')}
else {
username=prompt('Please enter your name:',"");
if (username && username.length>0) setcookie('username',username,30)//避免“取消”输入或“空”输入
}
} </script>
</body>
<body onload="checkcookie()">
<script type="text/javascript">
function setcookie(c_name,value,expiredays){
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
if(expiredays==null){expiredays="";}
else {expiredays=";expires="+exdate.toGMTString();}
document.cookie=c_name+"="+escape(value)+expiredays;
}function getcookie(c_name){
if(document.cookie && document.cookie.length>1 && document.cookie.indexOf(c_name+"=")!=-1){
c_start=document.cookie.indexOf(c_name+"=")+c_name.length+1 ;
if(document.cookie.indexOf(";",c_start)!=-1) {c_end=document.cookie.indexOf(";",c_start)}
else{c_end=document.cookie.length}
return unescape(document.cookie.substring(c_start,c_end));
}
else return "";
} function checkcookie(){
username=getcookie('username');
if(username!="null" && username!=""){alert('Welcome again,'+username+'!')}
else {
username=prompt('Please enter your name:',"");
if (username && username.length>0) setcookie('username',username,30)//避免“取消”输入或“空”输入
}
} </script>
</body>