当前位置:编程学习 > JS >>

cookie的各种操作

创建和存储 cookie
在这个例子中我们要创建一个存储访问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于 cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。

首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函数:

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())
}

上面这个函数中的参数存有 cookie 的名称、值以及过期天数。

在上面的函数中,我们首先将天数转换为有效的日期,然后,我们将 cookie 名称、值及其过期日期存入 document.cookie 对象。

之后,我们要创建另一个函数来检查是否已设置 cookie:

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 ""
}

<?php教程
setcookie(“cookie[one]“, “cookieone”,time()+36000,”/”);
setcookie(“cookie[two]“, “cookietwo”,time()+36000,”/”);
setcookie(“cookie[three]“, “cookiethree”, time()+36000,”/”,”.65.la”);
// 页面重新
if (isset($_COOKIE["cookie"])) {
foreach ($_COOKIE["cookie"] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo “$name : $value <br />n”;
}
}

?>


今天把js对cookie操作系统的整理了一遍,包括:js读取cookie,js添加cookie,js删除cookie,示例如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
   <title>cookie处理函数练习(为我所写,非我所想:改善面向对象)</title>
   <script language="JavaScript" type="text/网页特效">
   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();
   }
  //读取出来所有的cookie字?串了
   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>

//添加cookie
function addCookie(name,value,expires,path,domain){
 var str=name+"="+escape(value);
 if(expires!=""){
  var date=new Date();
  date.setTime(date.getTime()+expires*24*3600*1000);//expires单位为天
  str+=";expires="+date.toGMTString();
 }
 if(path!=""){
  str+=";path="+path;//指定可访问cookie的目录
 }
 if(domain!=""){
  str+=";domain="+domain;//指定可访问cookie的域
 }
 document.cookie=str;
}
//取得cookie
function getCookie(name){
 var str=document.cookie.split(";")
 for(var i=0;i<str.length;i++){
 var str2=str[i].split(”=”);
  if(str2[0]==name)return unescape(str2[1]);
 }
}
//删除cookie
function delCookie(name){
 var date=new Date();
 date.setTime(date.getTime()-10000);
 document.cookie=name+”=n;expire=”+date.toGMTString();

补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,