cookie的初识和运用(js和jq)
cookie是什么
cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
cookie使用场合
(1)保存用户登录状态。例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。 cookie还可以设置过期时间,当超过时间期限后,cookie就会自动消失。因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。
(2)跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一样,使用起来非常方便。
(3)定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用cookie来记录用户的选项,例如:背景色、分辨率等。当用户下次访问时,仍然可以保存上一次访问的界面风格。
cookie的用法
js方式:
function setCookie(sName, sValue, oExpires, sPath, sDomain, bSecure) { //js设置cookie
                var sCookie = sName + '=' + encodeURIComponent(sValue);
                 if (oExpires) {
                     var date = new Date();
                     date.setTime(date.getTime() + oExpires * 60 * 60 * 1000);
                     sCookie += '; expires=' + date.toUTCString();
                }
                if (sPath) {
                     sCookie += '; path=' + sPath;
                if (sDomain) {
                     sCookie += '; domain=' + sDomain;
                }
                 if (bSecure) {
                     sCookie += '; secure';
                }
                 document.cookie = sCookie;  
 }
    function getCookie(name){ //获取cookie
        var strCookie=document.cookie;
        var arrCookie=strCookie.split("; ");
        for(var i=0;i<arrCookie.length;i++){
        var arr=arrCookie[i].split("=");
            if(arr[0]==name){
                return decodeURIComponent(arr[1]); 
            }
        }
        return "";
    }
function delCookie(name){//删除cookie
// 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间;
//剩下就交给操作系统适当时间清理cookie啦
if (getCookie(name))
    {
            document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}
                    
jq插件方式:
jq官网http://plugins.jquery.com/搜索cookie插件,几k的大小,使用非常方便:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
在引入以上库文件后,使用方式如下:
<script>
$.cookie('the_cookie'); //读取Cookie值
$.cookie('the_cookie', 'the_value'); //设置cookie的值
$.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一个cookie 包括有效期 路径 域名等
$.cookie('the_cookie', 'the_value'); //新建cookie
$.cookie('the_cookie', null); //删除一个cookie
</script>
cookie的初识和运用(js和jq)的更多相关文章
- js或者jq 使用cookie 时在谷歌浏览器不好使
		
用js或者jq 写cookie时在谷歌浏览器上打开,cookie不能正常使用. 原因:浏览器没有开启cookie,打开cookie 就可以显示 其次,当将代码上传至服务器,再用浏览器打开时,cooki ...
 - JS、JQ相关小技巧积攒
		
JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime() 获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...
 - JS与JQ倒计时的写法
		
页面需要制作一个倒计时的功能:然后度娘了一遍,找到两种写法,原生JS与JQ 的,经过测试原生JS在IE可能会有不刷新的现象所以结合了一个大神的JQ写法修改好了一个. 原生JS写法: HTML: < ...
 - jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
		
jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...
 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)
		
2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密) 这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方 ...
 - js模拟jq获取id
		
js模拟jq获取id: (jquery)需要自己添加 <!DOCTYPE html> <html lang="en"> <head> <m ...
 - 前端双引号单引号,正则反向引用,js比较jq
		
1.js,jq,css,html属性必须双,如果同时出现需要嵌套使用,属性的规范是双但是也可以用单测试有效 单引号现象举例:jq中获取元素标签是单引号:$('input').click:弹出也是单引号 ...
 - JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性)
		
JS(原生js和jq方式)获取元素属性(自定义属性),删除属性(自定义属性) 以下内容: 一.获取元素的属性 二.设置元素的属性 三.删除元素的属性 一.获取元素的属性 1-原生JS 获取属性 .ge ...
 - 通过js或jq增加的代码,点击事件或其他一些事件不起作用时
		
通过js或jq增加的代码,点击事件或其他一些事件不起作用时,可使用 $(document).on("click",".noshow",function() { ...
 - 用JS和JQ来获取子节点!
		
用JS和JQ来获取子节点! 在JS中,如果通过document.getElementsByTagName来获取子元素有个弊端:它不单会获取符合要求的子元素,就连同孙元素也会获取.如果有特殊要求,那 ...
 
随机推荐
- 3.nginx日志
			
1. 自定义日志格式为json log_format json '{"@timestamp":"$time_iso8601",' '"@version ...
 - element-ui tree树形组件自定义实现可展开选择表格
			
最近做项目遇到一个需求,表格里可以展开,可以选择,大概效果如下图: 一开始是在table组件里找方法,使用了表格的合并方法,效果是实现了,但是表格的多选每次触发时,都会执行好几次,而且没法实现一部分的 ...
 - 在 Linux 服务器上部署 nginx 之后不能访问
			
原文地址:https://blog.csdn.net/lipeigang1109/article/details/73295373 解决办法:https://jingyan.baidu.com/art ...
 - ffmpeg intro - pull and push
			
ffmpeg -i rtmp://rtmp.test.com/live/livestream -c:v copy -c:a copy -f flv rtmp://172.31.11.53/myhls/ ...
 - btn按钮事件
			
1.用Delegate 和 Event 来定义一个通用类来处理事件 (观察者模式) using System.Collections; using System.Collections.Generic ...
 - Python openpyxl Read
			
#! /usr/bin/env python # coding=utf-8 from openpyxl import Workbook, load_workbook wb = load_workboo ...
 - 自定义ajax,添加loading效果
			
自定义ajax /** * @desc 自定义ajax请求,添加等待gif */ var n=0; $.defineAjax=function(obj){ n++; if(!$('#loadingDi ...
 - SSH框架学习步骤
			
Hibernate 对象状态 关系映射 SQL语句 缓存抓取 struts action的分发配置 参数传递 文件上传 spring IOC AOP
 - html中文乱码(解决办法)
			
在head标签中加上以下代码即可: <head> <meta http-equiv="Content-Type" content="text/h ...
 - MyBatis 知识点梳理
			
简单地梳理下MyBatis相关的知识点,主要想让自己重新捡起以前学的框架,如果能给广大程序猿朋友有所帮助那就更好了.有疏漏的地方也欢迎大家评论指出.闲言少叙,进入正题....... MyBatis知识 ...