JavaScript学习—cookie

来源:互联网 发布:围棋业余比赛知乎 编辑:程序博客网 时间:2024/06/10 21:12

一、COOKIE介绍

cookie 是浏览器提供的一种机制,它将document对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是 JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个 cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。 

cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种:

1.cookie可能被禁用。

2.cookie是与浏览器相关的。不同浏览器之间所保存的cookie不能互相访问的。

3.cookie可能被删除。

4.cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中。

二、JavaScript使用COOKIE

JavaScript使用COOKIE机制是为了模拟全局变量。

1.设置COOKIE


function SetCookie(name,value,expires,path,domain,secure){
var expDays = expires*24*60*60*1000;
var expDate = new Date();
expDate.setTime(expDate.getTime()+expDays);
var expString = ((expires==null) ? “” : (”;expires=”+expDate.toGMTString()));
var pathString = ((path==null) ? “” : (”;path=”+path));
var domainString = ((domain==null) ? “” : (”;domain=”+domain));
document.cookie = name + “=” + escape(value) + expString + pathString + domainString + secureString;

2.获取指定名称的cookie值

function getCookie(s_name) {
    var arr = document.cookie.match(new RegExp("(^| )"+s_name+"=([^;]*)(;|$)"));
    if(arr != null) {return unescape(arr[2]);}

return null;} 



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 unexcape(document.cookie.substring(c_start,c_end))

}

}

return null;

}

3.删除指定名称的cookie

function ClearCookie(name){
var expDate = new Date();
expDate.setTime(expDate.getTime()-1);
document.cookie=name+”=;expires=”+expDate.toGMTString();}