TA的每日心情  | 开心 2021-12-13 21:45 | 
|---|
 
  签到天数: 15 天 [LV.4]偶尔看看III  
 | 
 
| 
 
   
js设置cookie有很多种方法。 
第一种:(这个是w3c官网的代码) 
 
- <script>
 - //设置cookie
 - function setCookie(cname, cvalue, exdays) {
 -     var d = new Date();
 -     d.setTime(d.getTime() + (exdays*24*60*60*1000));
 -     var expires = "expires="+d.toUTCString();
 -     document.cookie = cname + "=" + cvalue + "; " + expires;
 - }
 - //获取cookie
 - function getCookie(cname) {
 -     var name = cname + "=";
 -     var ca = document.cookie.split(";");
 -     for(var i=0; i<ca.length; i++) {
 -         var c = ca[i];
 -         while (c.charAt(0)==" ") c = c.substring(1);
 -         if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
 -     }
 -     return "";
 - }
 - //清除cookie  
 - function clearCookie(name) {  
 -     setCookie(name, "", -1);  
 - }  
 - function checkCookie() {
 -     var user = getCookie("username");
 -     if (user != "") {
 -         alert("Welcome again " + user);
 -     } else {
 -         user = prompt("Please enter your name:", "");
 -         if (user != "" && user != null) {
 -             setCookie("username", user, 365);
 -         }
 -     }
 - }
 - checkCookie(); 
 - </script>
 
  复制代码 
第二种: 
 
- <script>
 - //JS操作cookies方法!
 - //写cookies
 - 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());
 -    }
 -  
 - //读取cookies
 - function getCookie(name)
 - {
 -     var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 -  
 -     if(arr=document.cookie.match(reg))
 -  
 -         return (arr[2]);
 -     else
 -         return null;
 - }
 - //删除cookies
 - function delCookie(name)
 - {
 -     var exp = new Date();
 -     exp.setTime(exp.getTime() - 1);
 -     var cval=getCookie(name);
 -     if(cval!=null)
 -         document.cookie= name + "="+cval+";expires="+exp.toGMTString();
 - }
 - //使用示例
 - setCookie("username","Darren",30) 
 - alert(getCookie("username"));
 - </script>
 
  复制代码 
 第三个例子 
 
- <html> 
 - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 -     <head> 
 -         <script language="JavaScript" type="text/javascript"> 
 -             
 -             function addCookie(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成功"); 
 -             } 
 -             
 -             function getCookie(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]); 
 -                 } 
 -             } 
 -             
 -             function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间 
 -                 var date = new Date(); 
 -                 date.setTime(date.getTime() - 10000); 
 -                 document.cookie = name + "=a; expires=" + date.toGMTString(); 
 -             } 
 -             
 -             function allCookie(){//读取所有保存的cookie字符串 
 -                 var str = document.cookie; 
 -                 if (str == "") { 
 -                     str = "没有保存任何cookie"; 
 -                 } 
 -                 alert(str); 
 -             } 
 -             
 -             function $(m, n){ 
 -                 return document.forms[m].elements[n].value; 
 -             } 
 -             
 -             function add_(){ 
 -                 var cookie_name = $("myform", "cookie_name"); 
 -                 var cookie_value = $("myform", "cookie_value"); 
 -                 var cookie_expireHours = $("myform", "cookie_expiresHours"); 
 -                 addCookie(cookie_name, cookie_value, cookie_expireHours); 
 -             } 
 -             
 -             function get_(){ 
 -                 var cookie_name = $("myform", "cookie_name"); 
 -                 var cookie_value = getCookie(cookie_name); 
 -                 alert(cookie_value); 
 -             } 
 -             
 -             function del_(){ 
 -                 var cookie_name = $("myform", "cookie_name"); 
 -                 delCookie(cookie_name); 
 -                 alert("删除成功"); 
 -             } 
 -         </script> 
 -     </head> 
 -     <body> 
 -         <form name="myform"> 
 -             <div> 
 -                 <label for="cookie_name"> 
 -                     名称 
 -                 </label> 
 -                 <input type="text" name="cookie_name" /> 
 -             </div> 
 -             <div> 
 -                 <label for="cookie_value"> 
 -                 值 
 -                 </lable> 
 -                 <input type="text" name="cookie_value" /> 
 -             </div> 
 -             <div> 
 -                 <label for="cookie_expireHours"> 
 -                 多少个小时过期 
 -                 </lable> 
 -                 <input type="text" name="cookie_expiresHours" /> 
 -             </div> 
 -             <div> 
 -                 <input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value="删除该名称cookie" onclick="del_()"/> 
 -             </div> 
 -         </form> 
 - </body> 
 - </html>
 
  复制代码 
注意: 
chrome浏览器在本地获取不到cookie。必须在服务器上才可以。如果是本地的话,你可以放到local的www目录下面。 
Google Chrome只支持在线网站的cookie的读写操作,对本地HTML的cookie操作是禁止的。所以下面的代码如果你写在一个本地的html文件中,将弹出的对话框内容为空。 
document.cookie = "Test=cooo"; 
alert(document.cookie); 
如果这个页面是在线网站的内容,则会正常显示cookie内容Test=cooo等等。 |   
 
 
 
 |