Coolie的功能:
1:功能:保存一小块数据
2:常用Cookies属性:expires,path,domain,secure
3:写入Cookies:格式 name=value
4:用escape编码,unescape解码
5:用obj.setTime(obj.getTime+60*1000)设置过期时间
6:cookie保存的数据不能超过4096bytes(即4K)
7:cookie读取的时候用indexOf,substring,或者split
首先看一下代码:
function checkInCorrect() //判断用户名和密码是否为空
{
if (document.getElementById('txtUserName').value=="")
{
alert('请输入用户名!')
document.getElementById('txtUserName').focus(); //这个是HTML DOM对象的方法,并不是js的函数,该方法表示将输入焦点移至对象上.
return false
}
if (document.getElementById('txtPassword').value=="")
{
alert('请输入密码!')
document.getElementById('txtPassword').focus();
return false
}
else
{
saveInfo();
return true;
}
}
saveInfo = function(){
try{
var isSave = document.getElementById('chkRememberPwd').checked; //保存按键是否选中
if (isSave) {
var usernm = document.getElementById('txtUserName').value;
var userpsw = document.getElementById('txtPassword').value;
if(usernm!="" && userpsw!=""){
SetCookie(usernm,userpsw);
}
}else {
SetCookie("","");
}
}catch(e){
}
}
function SetCookie(usern,psw){
var Then = new Date() 获取当前时间
Then.setTime(Then.getTime() + 1866240000000)
document.cookie ="username=" + usern + "%%"+psw+";expires="+ Then.toGMTString() ;
}
function GetCookie(){
var nmpsd;
var nm;
var psd;
var cookieString = new String(document.cookie)
var cookieHeader = "username="
var beginPosition = cookieString.indexOf(cookieHeader)
cookieString = cookieString.substring(beginPosition);
var ends=cookieString.indexOf(";");
if (ends!=-1){
cookieString = cookieString.substring(0,ends);
}
if (beginPosition>-1){
nmpsd = cookieString.substring(cookieHeader.length);
if (nmpsd!=""){
beginPosition = nmpsd.indexOf("%%");
nm=nmpsd.substring(0,beginPosition);
psd=nmpsd.substring(beginPosition+2);
document.getElementById('txtUserName').value=nm;
document.getElementById('txtPassword').value=psd;
if(nm!="" && psd!=""){
document.forms[0].checkbox.checked = true
}
}
}
}
用户名:
密 码:
记住密码
运行起来是这样的:
在Firefox浏览器通过:工具--页面信息,就可以查看cookie了。
因为本地不存在域名,所以域名为空。
另外一个代码:
function Set(){
var Then = new Date()
Then.setTime(Then.getTime() + 60*1000 ) //60秒
document.cookie = "Cookie1=测试数据;expires="+ Then.toGMTString()
}
另一种按天的写法,有效期7天
//var date = new Date()
//date.setDate((date.getDate()+7));
//document.coolie = 'urser='+ encodeURIComponent('李炎灰') + ';expires=' + date;
function Get(){
var cookieString = new String(document.cookie) //就是取得cookie的内容
var cookieHeader = "Cookie1="
var beginPosition = cookieString.indexOf(cookieHeader) //cookie读取的时候用indexOf,substring,或者split
if (beginPosition != -1){
document.all.Textbox.value = cookieString.substring(beginPosition
+ cookieHeader.length)
}
else
document.all.Textbox.value = "Cookie 未找到!"
}
设置与读取 cookies...
运行结果如下:
第三个代码:
//创建cookie的通用函数。
function setCookie(name, value, expires, path, domain, secure){
var cookieName = encodeURIComponent(name) + '='+encodeURIComponent(value);
if(expires instanceof Date){
cookieName += ';expires='+expires;
}
if(path){
cookieName += ';path='+path;
}
if(domain){
cookieName += ';domain='+domain;
}
if(secure){
cookieName += ';secure';
}
document.cookie = cookieName;
}
//封闭一个过期时间 return结果:Fri May 11 2018 20:04:06 GMT+0800 (China Standard Time)
function setCookieDate(day){
var date = null;
if(typeof day == 'number' && day >0){
date = new Date();
date.setDate(date.getDate() + day);
}else{
throw new Error('天数不合法');
}
return date
}
setCookie('user','李炎恢',setCookieDate(7));
setCookie('url','www.yc60.com',setCookieDate(7));
setCookie('email','yc@163.com',setCookieDate(7));
上面的代码运行后,会生成三个cookie
获取cookie
//获取cookie 传递一个user,获取后面的值,传递一个url,获取后面的值
function getCookie(name){
var cookieName = encodeURIComponent(name) + '=';
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = null;
if(cookieStart > -1){
var cookieEnd = document.cookie.indexOf(';',cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length,cookieEnd));
}
return cookieValue;
}
再看一个自己要用的:
var cookieString = new String(document.cookie); //就是取得cookie的内容
var cookieHeader = "yxxxyxxx";
var beginPosition = cookieString.indexOf(cookieHeader);
var bjs;
if (beginPosition != -1){
bxx="y";
document.writeln("");
}