各位大哥帮我解释一下这段JavaScript代码,谢谢
答案:3 悬赏:50 手机版
解决时间 2021-08-12 13:00
- 提问者网友:遮云壑
- 2021-08-11 20:21
<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>
小弟我初学,还请各位大哥指教
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-08-11 20:27
这些代码是对cookies的操作
function getCookie(c_name) 里是读取你用户的cookis如果他访问过你的网站就会有记录用这个方法把它读出来
function setCookie(c_name,value,expiredays)方法里是 写入cookie
function checkCookie()这个方法是判断是否有cookie存在如果存在就显示欢迎
不存在就调用上面的function setCookie(c_name,value,expiredays)方法 写入一个COOKIE 并要求你输入一个用户名
大致就是这样的
全部回答
- 1楼网友:拾荒鲤
- 2021-08-11 22:04
- 2楼网友:深街酒徒
- 2021-08-11 21:09
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0) //如果cookie的值长度为零则执行下面的代码
{
c_start=document.cookie.indexOf(c_name + "=") //判断cookie的名字是否是指定的名字
if (c_start!=-1) //如果不等于-1则表示名字为c_name的cookie是存在的
{
c_start=c_start + c_name.length+1 //获取指定cookie名字的值的起始位置
c_end=document.cookie.indexOf(";",c_start) //获取指定cookie名字的值的结束位置,从开始位置开始取;号的位置,因为分号是分隔符
if (c_end==-1) c_end=document.cookie.length //如果结束位置为-1则表示这个cookie是最后一个没有;所以取最长值
return unescape(document.cookie.substring(c_start,c_end)) //返回解码后的cookie值
}
}
return "" //否则返回空值
}
function setCookie(c_name,value,expiredays) //设置cookie,指定cookie的名字(c_name),有效期(expiredays)
{
var exdate=new Date()//设置有效期的初始值当前日期
exdate.setDate(exdate.getDate()+expiredays) //设置过期的日期当前日期+有效时间长度
document.cookie=c_name+ "=" +escape(value)+ //设置cookie的名称以及有效时间
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
function checkCookie() //检查cookie是否存在,如果存在就提示cookie的值
{
username=getCookie('username') //获取cookie的值
if (username!=null && username!="") //如果username值不为空并且username不为null提示
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"") //否则提示重新输入用户名
if (username!=null && username!="") //如果用户名不为空则不为null
{
setCookie('username',username,365) //设置cookie值
}
}
}
</script>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯