cookie 操作

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

而cookie是运行在客户端的,所以可以用JS来设置cookie.

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢?

首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。

JS设置cookie:
 
假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为:

document.cookie="name="+username;

JS读取cookie:
 
假设cookie中存储的内容为:name=jack;password=123
 
则在B页面中获取变量username的值的JS代码如下:

var username=document.cookie.split(";")[0].split("=")[1];

//JS操作cookies方法!

//写cookies

function setCookie(name,value) 

    var Days = 30; 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + Days*24*60*60*1000); 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
}

//读取cookies 
function getCookie(name) 

    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 
    if(arr=document.cookie.match(reg))
 
        return unescape(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("name","hayden"); 
alert(getCookie("name"));

//如果需要设定自定义过期时间 
//那么把上面的setCookie 函数换成下面两个函数就ok;

//程序代码 
function setCookie(name,value,time)

    var strsec = getsec(time); 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + strsec*1); 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 

function getsec(str)

   alert(str); 
   var str1=str.substring(1,str.length)*1; 
   var str2=str.substring(0,1); 
   if (str2=="s")
   { 
        return str1*1000; 
   }
   else if (str2=="h")
   { 
       return str1*60*60*1000; 
   }
   else if (str2=="d")
   { 
       return str1*24*60*60*1000; 
   } 

//这是有设定过期时间的使用示例: 
//s20是代表20秒 
//h是指小时,如12小时则是:h12 
//d是天数,30天则:d30

setCookie("name","hayden","s20");

来源: http://www.cnblogs.com/fishtreeyu/archive/2011/10/06/2200280.html

null

时间: 2024-11-07 19:46:37

cookie 操作的相关文章

js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

//是否存在指定函数 function isExitsFunction(funcName) {    try {        if (typeof(eval(funcName)) == "function") {            return true;        }    } catch(e) {}    return false;}//是否存在指定变量 function isExitsVariable(variableName) {    try {        if

JS封装cookie操作函数实例(设置、读取、删除)

本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /*设置cookie*/ function setCookie(name, value, iDay) {   var oDate=new Date();   oDate.setDate(oDate.getDate()+iDay);   document.cook

C# 自定义cookie封装类,简化Cookie操作

封装了常用的cookie操作,包括读取cookie.写入cookie.设置cookie过期时间等等. using System; using System.Web; namespace DotNet.Utilities { public class CookieHelper { /// <summary> /// 清除指定Cookie /// </summary> /// <param name="cookiename">cookiename<

深入了解Cookie(1)------selenium2进行Cookie操作的前奏

世界上最宽阔的是海洋,比海洋还宽阔的是天空,比天空还宽阔的是人的心量.做人的心量有多大,人生的成就就有多大.不为一己之利去争.去斗.去夺,扫除报复之心和嫉妒之念,自然"心底无私天地宽". Cookie是当前识别用户,实现持久会话的最好方式.Cookie最初是由网景公司开发,但是现在所有的主要浏览器都支持它. Cookie的类型:会话Cookie和持久Cookie 会话Cookie是一种临时Cookie,它记录了用户访问站点时的设置和偏好.用户退出浏览器时,会话Cookie就被删除了.

JavaScript之DOM-10 cookie (cookie概述、cookie操作)

一.Cookie 概述 Cookie 简介 - Cookie 是由服务器生成并存存储在客户端文件系统(.txt格式)中的key/value对,当浏览器再次请求该站点上的页面时,就会自动把保存的Cookie发回服务器 - Cookie 使得浏览器可以在访问同一站点的不同请求间传递数据,让服务器程序识别不同的客户端 - 典型应用: 保存用户登录状态.跟踪用户行为.页面定制.保存购物车等需要保存全局变量的场合 Cookie 的存放 - Cookie 保存在客户端某个特定的目录下的一个.txt文本文件中

jquery实现的cookie操作插件

jquery实现的cookie操作插件: cookie虽说具有一定的确定,但是在某些问题的处理上还是非常好用的,这里就不列举了,这里提供一个jquery实现的操作cookie的插件,功能比较全面,希望给大家带来一定的帮助,代码如下: jQuery.cookie=function(name, value, options){ if(typeof value != 'undefined'){ options=options||{}; if(value === null){ value=''; opt

selenium——cookie操作

a.获得cookie信息:driver.get_cookies() 1 #coding=utf-8 2 from selenium import webdriver 3 import time 4 5 driver=webdriver.Ie() 6 driver.get("http://www.youdao.com") 7 8 cookie=driver.get_cookies() #获取当前页的cookie 9 print cookie 10 driver.quit() b.对coo

【.NET】Cookie操作类

using System; using System.Web; using System.Data; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; namespace Tool { /// <summary> /// Cookie操作类 /// </summary> public static c

Yii cookie操作

设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60*60*24*30;  //有限期30天 Yii::app()->request->cookies['mycookie']=$cookie; 读取cookie: $cookie = Yii::app()->request->getCookies(); echo $cookie['myco

学习笔记: JavaScript/JQuery 的cookie操作

转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx cookie是网页存储到用户硬盘上的一小段信息.最常见的作用是判断用户是否登录.保存偏好设置等.我用到这个是写扫雷时,需要用cookie保存用户的设置,如行.列等.功能已具,笔而记之. cookie具有特定的格式——         cookiename=cookievalue; expires=epirationDateGMT; path=URL; domin=