原生JS--COOKIE:
COOKIE基础及应用:
1.什么是COOKIE==>页面用来保存信息,比如:自动登录,记住用户名
2.COOKIE的特性:
--同一个网站中,所有的页面共享同一套cookie
--数量,大小有限(4k-10k,不能用来存大的内容)
--过期时间
3.设置cookie:(本地下测试cookie要在FF下面测试,IE,Chrom会把cookie去掉);
--格式:名字=值(多条数据通过'; '(即分号和空格) 来分开)
--不会覆盖document.cookie="user=yufan";document.cookie="pass=123456";
--过期时间:expires=时间
--COOKIE与日期对象共同使用,设置过期时间
var oDate=new Date();
oDate.setDate(oDate.getDate()+14); //设置获取的日期,并不是系统日期
document.cookie="user=yufan; expires="+oDate; //这样设置的这个cookie将在14天后过期
4.将设置cookie封装成一个函数:
function setCookie(name,value,myDay){
var oDate=new Date();
oDate.setDate(oDate.getDate()+myDay);
document.cookie=name+'='+value+'; expires='+oDate;
}
setCookie('username','yufan',25);
setCookie('pass','123456',14);
5.读取cookie:对获取的document.cookie进行字符串分割
读取cookie封装成一个函数:
function getCookie(name){
//document.cookie获取当前网站的所有cookie
var arr=document.cookie.split('; ');
for(var i=0;i<arr.length;i++){
var arr1=arr[i].split('=');
if(arr1[0]==name){
return arr1[1];
}
}
return '';
}
alert(getCookie(username));
6.删除cookie:时间设置为已经过期的时间,系统自然会删除
function removeCookie(name){
setCookie(name,1,-1);
}
removeCookie(username,1,-1);
7.示例:记住用户登录的用户名和密码
方法:可以在用户第一次登录时用cookie记住登录的用户名和密码,
下次再打开页面时用户名和密码就自动出现在表单里面
--提交时:记住用户名
--window.onload:读取用户名
HTML代码:
<div id="cookie">
<form id="form1" action="">
用户名:<input type="text" name="username" value="">
密码:<input type="password" name="password" value="">
<input type="submit" name="" value="登录">
</form>
</div> JS代码:
<script type="text/javascript">
//cookie记住用户名,密码
window.onload=function(){
var oForm=document.getElementById('form1');
var username=document.getElementsByName('username')[0];
var pass=document.getElementsByName('password')[0];
oForm.onsubmit=function(){
setCookie('username',username.value,25);
setCookie('pass',pass.value,25);
}
username.value=getCookie('username');
pass.value=getCookie('pass'); function setCookie(name,value,myDay){
var oDate=new Date();
oDate.setDate(oDate.getDate()+myDay);
document.cookie=name+'='+value+'; expires='+oDate;
} function getCookie(name){
//document.cookie获取当前网站的所有cookie
var arr=document.cookie.split('; ');
for(var i=0;i<arr.length;i++){
var arr1=arr[i].split('=');
if(arr1[0]==name){
return arr1[1];
}
}
return '';
} }
</script>