cookie
1. cookie的运行环境
- 是运行在服务器环境
- Ie 和chrom游览器都不能使用
2. cookie的作用
- 储存数据,在用户的电脑上储存数据
3. 扩展知识
- 变量是临时存放数据的载体
- 我们的代码,变量是运行在电脑的内存条上,电脑上的软件,运行在C盘,硬盘上。当电脑关闭,数据就会失效。
- 当用户访问了某个网站(网页)的时候,我们就可以通过Cookie来访问用户的电脑,用于储存和读取数据
4. Cookie的使用
<html>
<script>
//cookie 储存数据的 储存在服务器的硬盘上
//cooke 运行在服务器环境下 firefox 自带一个服务器 chrome 和 ie 没自带
// 用法:document.cookie 获取当前服务器 储存的数据
// 存储的格式 是一个字符串格式 key=value: key=value 分号加空格 隔开数据
console.log(document.cookie) //获取当前页面 cookie储存的数据 字符串类型的
//如何储存?(一次只能储存一个)
// document.cookie="name='小明'" //默认临时存储,浏览器关闭自动销毁
// console.log(document.cookie)
//设置过期时间 就不会再关闭后销毁
// var oDate=new Date("2020/1/1")
// document.cookie='user1="小明";expires=new'+oDate
// document.cookie='user2="小共";expires=new'+oDate
// document.cookie='user3="小黑";expires=new'+oDate
// document.cookie='user4="小白";expires=new'+oDate
// document.cookie='user5="小青";expires=new'+oDate
// document.cookie='user6="小绿";expires=new'+oDate
// document.cookie='user7="小刘";expires=new'+oDate
// document.cookie='user8="小李";expires=new'+oDate
// console.log(document.cookie)
// 时间对象.setDate() //设置日期
var d = new Date()
d.setDate(d.getDate()+7)
console.log(d)
//取值
var cookie=document.cookie //取出所有存的数据
var arr=cookie.split("; ")
for(var i=0;i<arr.length;i++){
//arr[i] user="小明"
var arr1=arr[i].split("=")
//arr1[0] [user,小明]
if(arr1[0]=="user5"){
}
}
console.log(arr)
</script>
</html>
<html>
自己封装的取值、赋值 删除的方法
function getCookie(cookie,user){
var arr=cookie.split("; ") //得到一个字符串 分割为数组 必须以分号空格分割 因为在游览器中 字符串类型就是 以 分号空格 隔开的
for(var i=0;i<arr.length;i++){ //循环这个数据中的每一个数据
//arr[i] user="小明"
var arr1=arr[i].split("=") //分割这个数组中的每一个数据
//arr1[0] [user,小明]
if(arr1[0]==user){ //判断二次分割后的 0 的下标 等不等于传入user名字 如果等于 就取 下标为1的值
return arr1[1]
}
}
return false
}
function setCookie(json,date){
for(var i in json){
var d= new Date()
d.setDate(d.getDate()+date)
document.cookie=i+'='+json[i]+';pricase='+d
}
}
function removeCookie(json){
setCookie(json,-1)
}
</html>
5. Cookie的特征
1.如不设置销毁时间,会在浏览器关闭进程的时候自动销
2. 不同的浏览器存放cookie的位置不一样,也不是通用的
3. cookie的储存十一域名的形式进行的
4. cookie的数据是可以设置名字的 user=value user就是名字
5. 一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样
6. 每个cookie存放的内容带下也是有限制的,不同的浏览器存放的大小都不一样