<<< 网页中如何利用原生js和jquery储存cookie
2014-05-20 09:56
453 查看
javascript当中的cookie机制,使应用达到了真正的全局变量的要求,cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质,由于cookie机制是把信息储存到硬盘,所以他可以用来做全局变量
cookie有关安全性和作用域
1、cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;
2、cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;
3、cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;
4、cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。
JS设置cookie
在原生的javascript当中,储存cookie使用键值对的方式来设置cookie,例如:
如果是要储存多个值,使用 “ ; ” 号加空格隔开,例如
储存cookie并设置过期时间
删除Cookie
取值
指定可访问cookie的路径
默认情况下,如果在某个页面创建了一个cookie,那么该页面所在目录中的其他页面也可以访问该cookie。如果这个目录下还有子目录,则在子目录中也可以访问。例如在www.xx.com/html/a.html中所创建的cookie,可以被www.xx.com/html/b.html或www.xx.com/html/ some/c.html所访问,但不能被www.xxxx.com/d.html访问。
为了控制cookie可以访问的目录,需要使用path参数设置cookie,语法如下:
document.cookie="name=value; path=cookieDir";
其中cookieDir表示可访问cookie的目录。例如:
document.cookie="name=value; path=/admin";
就表示当前cookie仅能在admin目录下使用。
如果要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如:
document.cookie="name=value; path=/";
Jquery设置cookie
jquery由于封装了很多东西,所以在操作时很方便,使用jquery对cookie操作时需要导入两个js文件
对cookie详细介绍:/article/1260789.html
cookie有关安全性和作用域
1、cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能;
2、cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的;
3、cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除;
4、cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。
JS设置cookie
在原生的javascript当中,储存cookie使用键值对的方式来设置cookie,例如:
document.cookie="userName=admin";
如果是要储存多个值,使用 “ ; ” 号加空格隔开,例如
document.cookie="userName=admin; password=admin";
储存cookie并设置过期时间
//这里的过期时间是以GMT时间格式表示的时间字符串 //此句代码的一是为,将userName的过期时间设置为expiress定义好的时间,一旦超过这个时间cookie将失效 document.cookie="userName=admin; expiress=过期时间"; //创建一个cookie,设置一个过期时间 <script language="JavaScript" type="text/javascript"> var date=new Date(); //获取当前时间 date.setTime(date.getTime()+1*24*3600*1000);//将date设置为1天以后的时间 document.cookie="userName=admin; expires="+date.toGMTString(); //将userName设置为1天后过期 </script>
删除Cookie
//将cookie设置为过去的时间可达到删除cookie的效果 <script language="JavaScript" type="text/javascript"> //获取当前时间 var date=new Date(); //将date设置为过去的时间 date.setTime(date.getTime()-10000); //将userName这个cookie删除 document.cookie="userName=admin; expires="+date.toGMTString(); </script>
取值
<script language="JavaScript" type="text/javascript"> //设置两个cookie document.cookie="userName=admin; password=admin"; //获取cookie字符串 var strCookie=document.cookie; //将多cookie切割为多个名/值对 var arrCookie=strCookie.split("; "); var userName; //遍历cookie数组,处理每个cookie对 for(var i=0;i<arrCookie.length;i++){ var arr=arrCookie[i].split("="); //找到名称为userName的cookie,并返回它的值 if("userName"==arr[0]){ userName=arr[1]; break; } } alert(userName); </script>
指定可访问cookie的路径
默认情况下,如果在某个页面创建了一个cookie,那么该页面所在目录中的其他页面也可以访问该cookie。如果这个目录下还有子目录,则在子目录中也可以访问。例如在www.xx.com/html/a.html中所创建的cookie,可以被www.xx.com/html/b.html或www.xx.com/html/ some/c.html所访问,但不能被www.xxxx.com/d.html访问。
为了控制cookie可以访问的目录,需要使用path参数设置cookie,语法如下:
document.cookie="name=value; path=cookieDir";
其中cookieDir表示可访问cookie的目录。例如:
document.cookie="name=value; path=/admin";
就表示当前cookie仅能在admin目录下使用。
如果要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如:
document.cookie="name=value; path=/";
Jquery设置cookie
jquery由于封装了很多东西,所以在操作时很方便,使用jquery对cookie操作时需要导入两个js文件
<script type="text/javascript" src="../js/jquery-1.8.2.js"></script> <script type="text/javascript" src="../js/jquery.cookie.js"></script> $.cookie('name','value');//设置cookie的值,把name值设为value $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'baidu.com', secure: true});//新建一个cookie 包括有效期 路径 域名等 //expires 设置过期时间,上面为7天 //domain 设置生效域名,上面为baidu.com //secure 是否启用加密,默认为false,此处设置了true $.cookie('name', null);//删除一个值 $.cookie('name');//取出name的值
对cookie详细介绍:/article/1260789.html
相关文章推荐
- 如何利用jquery.cookie.js让某个jquery效果只执行一次
- javaweb利用cookie记住账号(jquery.cookie.js)
- 不要再吹水地球人听不懂的技术,咱来点干货!--中文前端UI框架Kit(四)给你真正的原生的drag以及drop事件,而不是像市面上主流的Js框架jQuery,Ext等,利用mousemove事件,判断位置来模拟
- 原生js和jQuery写的网页选项卡特效对比
- 蓝鸥原生JS:什么是cookie及如何设置cookie
- jquery的html()方法里的<script></script>,只能出现一次,再出现的话,里面的js就不执行!!!
- jquery以及原生js 如何实现div倒序
- 如何使用js懒加载图片|如何使用jquery.lazyload.js|网页优化|如何提高网页加载速度
- 原生JS如何利用冒泡减少事件的触发,只代理给共有的父元素。
- 原生js和jquery两种处理cookie的插件介绍
- 【JS】jQuery设置定时器,访问服务器(PHP示例)配合微信、支付宝原生支付,跳转web网页
- js利用cookie实现网页的换肤
- 如何使用js懒加载图片|如何使用jquery.lazyload.js|网页优化|如何提高网页加载速度
- 通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
- 关于如何利用原生js动态给一个空对象添加属性以及属性值
- 如何利用js操作cookie实现记住密码功能
- 原生js如何获取当前所加载网页的文件路径和名称
- 展示浏览网页的历史记录(jquery.cookie.js)
- jquery 和 原生js 获取<select><option></option></select>标签的值和文本
- <a>标签与<input>框Js或jquery取值问题