请问怎样用javascript使cookie有效期为可选? 就像有的登录网站一样cookie有效期:一天 一星期 一个月 为可选项请问用javascript怎么解决啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新建网页 4</title><script language="JavaScript" type="text/javascript">function addCookie(objName,objValue,objDays){//添加cookie var str = objName + "=" + escape(objValue); if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objDays*24*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str;}</script></head><body><select id=s><option value="1">一天</option><option value="7">一周</option><option value="30">一月</option></select><input type="button" value="保存cookie" onclick="addCookie('name','小明',document.getElementById('s').value)"></body></html> JavaScript:cookie的安全性本文节选自《21天学通JavaScript》一书 在默认情况下,cookie都是采用不加密的HTTP的传输方法,这种方法传输容易被别人窃听。如果cookie中的信息很重要,就不能用这种方法了。因此,在JavaScript提供了cookie的secure属性,可以解决这个问题。secure就是安全的意思。当设置了cookie的secure属性之后,cookie就只能通过HTTP或其他安全协议来传输,这样消息就不容易被别人窃听了。cookie的secure属性是一个布尔类型的值。【范例14-6】在本例中,cookie"username"被设置成在10分钟之后过期,可以被服务器上的所有目录访问,可以被localhost域里的所有服务器访问,安全状态为安全。如示例代码14-6所示。示例代码14-601 <html>02 <head><title>cookie的参数</title> 03 <script language="javascript"> 04 function setCookie() 05 { 06 var value=prompt("请输入cookie变量的值",""); //接收用户输入的值07 if(value!=null) //判断value是否为空08 {09 var expiration = new Date((new Date()).getTime() + 10 * 60000); //设置cookie存活期10 document.cookie = "username=" + escape(value)+ "; //给cookie编码11 xpires ="+ expiration.toGMTString()+";path=/;domain=local host; secure"; //设路径12 alert("设置cookie值成功编码结果为:username="+escape(value)); //输出结果13 }14 else15 {16 alert("设置失败,你没有输入任何值!"); //检查输入是否为空17 }18 }19 function getCookie(cookie_name) //自定义函数用于获取cookie的值20 {21 var allcookies = document.cookie; //声明一个变量allcookies22 var value=null; //将value的初始值设为空23 var searchs=cookie_name+"="; //给变量searchs赋cookie名24 if(allcookies.length>0) //查看cookie是否为空25 {26 var offset=allcookies.indexOf(searchs); //找到要查找的变量名27 if(offset!=-1) //判断所查找的变量名是否存在28 {29 offset+=searchs.length;30 var end=allcookies.indexOf(";",offset); //找到变量值的结束位置31 if(end==-1) //防止没加“;”号的情况发生32 {33 end=allcookies.length; //取得cookie的长度34 }35 value=unescape(allcookies.substring (offset,end)); //取得变量的值36 }37 else38 {39 value=null; //将变量value赋为空40 }41 }42 return value; //返回变量value的值43 } 44 </script> 45 </head> <!--文档头结束-->46 <body> <!--文档体->47 <input type="submit" name="Submit" value="设置cookie值" onClick="set Cookie()">48 <input type="submit" name="Submit2" value="读取cookie值" onClick="alert (getCookie('username'))">49 </body> <!--文档体结束-->【运行结果】打开网页文件运行程序。【代码解析】该代码段第4~18行的作用是设置cookie,这里设置了这个cookie的键、值、存活期、路径等,同时还编码过。第19~43行是读取所设置的过程,注意读取的时候要先解码。再有,Date设置是以毫秒为单位,因此getTime方法返回时间,单位为毫秒。提示:设置了secure属性,只保证cookie与Web服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密 不好意思,昨天没看信箱在我给的例子中,把select改成radio,是完全可以的只要注意调函数setCookie时参数传递地是否正确还有就是确保至少调一次setCookie函数 是这样的我们刚出来工作不久这里有一个用c,javascript,html,cgi做到网站我现在优化这个网站以前cookies的保存时间是3天的现在公司要求我把cookie做成可选项我把代码用你那种方法改网页有错误不知道是我哪里出错了 。 <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>cookie有效期可选功能</title><script language="JavaScript" type="text/javascript">function setCookie(objName,objValue,objDays){//添加cookie var str = objName + "=" + escape(objValue); if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objDays*24*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str;}</script></head><body>radio形式:Cookie有效期:<input type='radio' name='cktime' id="radio1" value='1' onClick="setCookie('name','castel',document.getElementById('radio1').value)">一天 <input type='radio' name='cktime' id="radio2" value='7' onClick="setCookie('name','castel',document.getElementById('radio2').value)" checked="checked">一小时<input type='radio' name='cktime' id="radio3" value='30'onclick="setCookie('name','castel',document.getElementById('radio3').value)">一个月 <br>下拉框形式:<select id=s><option value="1">一天</option><option value="7">一周</option><option value="30">一月</option></select><input type="button" value="保存cookie" onclick="setCookie('name','castel',document.getElementById('s').value)"></body></html>这是我吧你的代码做了改动不知道radio里面的onclick事件写的对不你看哈我还有另一种方法<html><head><script language="JavaScript" type="text/javascript">function setCookie(objName,objValue,objDays){//添加cookie var str = objName + "=" + escape(objValue); if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objDays*24*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str;}</script></head><body><form name="form1" method="post" action="">Cookie有效期:<input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)"checked="checked">一天<input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">一星期<input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">一个月</form></body></html>老兄帮忙分析下啊 <html> <head> <script language="JavaScript" type="text/javascript"> function setCookie(objName,objValue,objDays){//添加cookie var str = objName + "=" + escape(objValue); if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objDays*24*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str; } </script> </head> <body> <form name="form1" method="post" action=""> Cookie有效期: <input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel1',this.value)" checked="checked">一天 <input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel7',this.value)"> 一星期 <input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel30',this.value)"> 一个月 </form> </body> </html> 如何遍历这个json数组 【求助】js中的鼠标事件的onmouseover和onmouseout怎么用? 如何用正则表达式指定一个整数取值范围是否在0-23范围之内?? 急用 关于confirm的一个现象 请问 这个问题? 问一个javascript和ie的问题。 做爬虫项目怎么得到网页js转发的地址。。。。。 extjs写combo结果下拉框是透明的 五种主流web报表工具的功能对比:设计模式易调整 哪位老兄能帮忙修改下我的cookie,代码我已经写好了,不知道怎么加到我原有的页面上。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 4</title>
<script language="JavaScript" type="text/javascript">
function addCookie(objName,objValue,objDays){//添加cookie
var str = objName + "=" + escape(objValue);
if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objDays*24*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
</script>
</head><body>
<select id=s>
<option value="1">一天</option>
<option value="7">一周</option>
<option value="30">一月</option>
</select>
<input type="button" value="保存cookie" onclick="addCookie('name','小明',document.getElementById('s').value)"></body></html>
本文节选自《21天学通JavaScript》一书 在默认情况下,cookie都是采用不加密的HTTP的传输方法,这种方法传输容易被别人窃听。如果cookie中的信息很重要,就不能用这种方法了。因此,在JavaScript提供了cookie的secure属性,可以解决这个问题。
secure就是安全的意思。当设置了cookie的secure属性之后,cookie就只能通过HTTP或其他安全协议来传输,这样消息就不容易被别人窃听了。cookie的secure属性是一个布尔类型的值。
【范例14-6】在本例中,cookie"username"被设置成在10分钟之后过期,可以被服务器上的所有目录访问,可以被localhost域里的所有服务器访问,安全状态为安全。如示例代码14-6所示。
示例代码14-6
01 <html>
02 <head><title>cookie的参数</title>
03 <script language="javascript">
04 function setCookie()
05 {
06 var value=prompt("请输入cookie变量的值",""); //接收用户输入的值
07 if(value!=null) //判断value是否为空
08 {
09 var expiration = new Date((new Date()).getTime() + 10 * 60000); //设置cookie存活期
10 document.cookie = "username=" + escape(value)+ "; //给cookie编码
11 xpires ="+ expiration.toGMTString()+";path=/;domain=local host; secure"; //设路径
12 alert("设置cookie值成功编码结果为:username="+escape(value)); //输出结果
13 }
14 else
15 {
16 alert("设置失败,你没有输入任何值!"); //检查输入是否为空
17 }
18 }
19 function getCookie(cookie_name) //自定义函数用于获取cookie的值
20 {
21 var allcookies = document.cookie; //声明一个变量allcookies
22 var value=null; //将value的初始值设为空
23 var searchs=cookie_name+"="; //给变量searchs赋cookie名
24 if(allcookies.length>0) //查看cookie是否为空
25 {
26 var offset=allcookies.indexOf(searchs); //找到要查找的变量名
27 if(offset!=-1) //判断所查找的变量名是否存在
28 {
29 offset+=searchs.length;
30 var end=allcookies.indexOf(";",offset); //找到变量值的结束位置
31 if(end==-1) //防止没加“;”号的情况发生
32 {
33 end=allcookies.length; //取得cookie的长度
34 }
35 value=unescape(allcookies.substring (offset,end)); //取得变量的值
36 }
37 else
38 {
39 value=null; //将变量value赋为空
40 }
41 }
42 return value; //返回变量value的值
43 }
44 </script>
45 </head> <!--文档头结束-->
46 <body> <!--文档体->
47 <input type="submit" name="Submit" value="设置cookie值" onClick="set Cookie()">
48 <input type="submit" name="Submit2" value="读取cookie值" onClick="alert (getCookie('username'))">
49 </body> <!--文档体结束-->
【运行结果】打开网页文件运行程序。
【代码解析】该代码段第4~18行的作用是设置cookie,这里设置了这个cookie的键、值、存活期、路径等,同时还编码过。第19~43行是读取所设置的过程,注意读取的时候要先解码。再有,Date设置是以毫秒为单位,因此getTime方法返回时间,单位为毫秒。提示:设置了secure属性,只保证cookie与Web服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密
在我给的例子中,把select改成radio,是完全可以的
只要注意调函数setCookie时参数传递地是否正确
还有就是确保至少调一次setCookie函数
我们刚出来工作不久
这里有一个用c,javascript,html,cgi做到网站
我现在优化这个网站
以前cookies的保存时间是3天的
现在公司要求我把cookie做成可选项
我把代码用你那种方法改
网页有错误
不知道是我哪里出错了 。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>cookie有效期可选功能</title>
<script language="JavaScript" type="text/javascript">
function setCookie(objName,objValue,objDays){//添加cookie
var str = objName + "=" + escape(objValue);
if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objDays*24*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
</script>
</head><body>
radio形式:
Cookie有效期:
<input type='radio' name='cktime' id="radio1" value='1' onClick="setCookie('name','castel',document.getElementById('radio1').value)">一天 <input type='radio' name='cktime' id="radio2" value='7' onClick="setCookie('name','castel',document.getElementById('radio2').value)" checked="checked">一小时<input type='radio' name='cktime' id="radio3" value='30'onclick="setCookie('name','castel',document.getElementById('radio3').value)">一个月 <br>
下拉框形式:
<select id=s>
<option value="1">一天</option>
<option value="7">一周</option>
<option value="30">一月</option>
</select>
<input type="button" value="保存cookie" onclick="setCookie('name','castel',document.getElementById('s').value)"></body></html>这是我吧你的代码做了改动
不知道radio里面的onclick事件写的对不
你看哈
我还有另一种方法
<html>
<head>
<script language="JavaScript" type="text/javascript">
function setCookie(objName,objValue,objDays){//添加cookie
var str = objName + "=" + escape(objValue);
if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objDays*24*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
Cookie有效期:
<input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)"
checked="checked">一天
<input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">
一星期
<input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel',javascript:document.form1.value=this.value)">
一个月</form>
</body></html>老兄帮忙分析下啊
<head>
<script language="JavaScript" type="text/javascript">
function setCookie(objName,objValue,objDays){//添加cookie
var str = objName + "=" + escape(objValue);
if(objDays> 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objDays*24*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
Cookie有效期:
<input type="radio" name="radiobutton" value="1" onclick="setCookie('name','castel1',this.value)"
checked="checked">一天
<input type="radio" name="radiobutton" value="7" onclick="setCookie('name','castel7',this.value)">
一星期
<input type="radio" name="radiobutton" value="30" onclick="setCookie('name','castel30',this.value)">
一个月
</form>
</body> </html>