`
xiaomiya
  • 浏览: 131128 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript中cookie的使用分析

阅读更多

1,cookie的概述

2,cookie的使用

 

1,JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。 cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。

cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。 

不同的浏览器对cookie的实现也不一样,但其性质是相同的。例如在Windows 2000以及Windows xp中,cookie文件存储于documents and settings\userName\cookie\文件夹下。通常的命名格式为:userName@domain.txt。 

 

cookie机制将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点。它可以用于以下几种场合。 

 

(1)保存用户登录状态。例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供这样的功能。 cookie还可以设置过期时间,当超过时间期限后,cookie就会自动消失。因此,系统往往可以提示用户保持登录状态的时间:常见选项有一个月、三个 月、一年等。 

 

(2)跟踪用户行为。例如一个天气预报网站,能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的,当利用了 cookie后就会显得很人性化了,系统能够记住上一次访问的地区,当下次再打开该页面时,它就会自动显示上次用户所在地区的天气情况。因为一切都是在后 台完成,所以这样的页面就像为某个用户所定制的一样,使用起来非常方便。

 

(3)定制页面。如果网站提供了换肤或更换布局的功能,那么可以使用cookie来记录用户的选项,例如:背景色、分辨率等。当用户下次访问时,仍然可以保存上一次访问的界面风格。 

 

(4)创建购物车。正如在前面的例子中使用cookie来记录用户需要购买的商品一样,在结账的时候可以统一提交。例如淘宝网就使用cookie记录了用户曾经浏览过的商品,方便随时进行比较。 

 

当然,上述应用仅仅是cookie能完成的部分应用,还有更多的功能需要全局变量。cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种: 

 

(1)cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能; 

(2)cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的; 

(3)cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除; 

(4)cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。

 

 

2,理论的概述好了,我们直接上代码来的更加直观,,在项目中可以直接使用

先调用cookie.js

 

//@charset "utf-8"
var util = util || {};

util.setCookie = function (sName, sValue, oExpires, sPath, sDomain, bSecure) {
    var sCookie = sName + '=' + encodeURIComponent(sValue);
    if (oExpires) {
        sCookie += '; expires=' + oExpires.toGMTString();
    };
    if (sPath) {
        sCookie += '; path=' + sPath;
    };
    if (sDomain) {
        sCookie += '; domain=' + sDomain;
    };
    if (bSecure) {
        sCookie += '; secure';
    };
    document.cookie = sCookie;
};

util.getCookie = function (sName) {
    var sRE = '(?:; )?' + sName + '=([^;]*)';
    var oRE = new RegExp(sRE);
    if (oRE.test(document.cookie)) {
        return decodeURIComponent(RegExp['$1']);
    } else {
        return null;
    };
}

util.deleteCookie = function (sName, sPath, sDomain) {
    this.setCookie(sName, '', new Date(0), sPath, sDomain);
}

// function getUrlParam(item) {
//     var value = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
//     return value ? value[1] : value;
// }

// 获取userid通过cookie

function getUserid() {
    return util.getCookie('userid');
}

 做了一个设置cookie和获取cookie的代码

 

这个js在项目直接调用,然后在改用的时候设置一下,,,

 

如:新手引导页面要只出来一次,

代码如下:

 

//@charset "utf-8"
/*新手引导*/
var oImg=$("#oGuide").find("img")[0];
var arrUrl = [ 'images/y1.png', 'images/y2.png','images/y3.png','images/y4.png' ];
var num=0;
var onOff=true;

function newguide(){
	oImg.src = arrUrl[num];
}

newguide();
$(".newleft").click(function(){
	//$(".newleft").css("background","none");
	num --;
	if(num == -1){
		if(onOff){
			num=0;
			
		}else{
			num=arrUrl.length-1;
		}
	}
	newguide();
});
$(".newright").click(function(){
	num ++
	if(num == arrUrl.length){
		if(onOff){
			num=arrUrl.length-1;
			$(".newbie").hide();
			sethaspopguide();
		}else{
			num=0;
		}
	}
	newguide();
});
$(".newclose").click(function(){
	$(".newbie").hide();
        sethaspopguide();
});

/*设置cookie用户在点击后不显示新手引导*/
var hasPopguide = util.getCookie('gsrl_haspopguide');
if(hasPopguide == 1){
	$(".newbie").hide();
}else{
	$(".newbie").show();
}

/*设置cookie值*/
function sethaspopguide(){
	var expire = new Date((new Date()).getTime() + 24 * 365 * 600000);
	util.setCookie('gsrl_haspopguide', 1, expire, '/', document.domain, 0);		
}

 这里的过期时间很久,基本上是不过期的。

 

在这里的新手引导页面中,有一个下一页下一页的,,一共四页,,,上面有个关闭,,点击到关闭,则永远不出来了,,或者把每一页都看过到最后一页之后也永远不在出来了。

 

下面讲有这样一个需求,就是在输入框中输入有关”买“,”卖“等字的时候出来一个小tip。。但是每个用户只能出来三次tip,,三次以后照样输入买也不会出来tip了。。

那么我们要设置cookie是3次。。

代码如下:

/**
*输入检索关键字提示小财神
*/
var showangelIndex = 0;
var arrText=['买','卖','盈','亏','分红','配股','增发','派息','持股','交易记录'];
$('.subtitle_edit').live('blur', function (event) {
	
	for(var i=0;i<arrText.length;i++){
		//alert($(".edit_title_a").find(a).index(0).html());
	 	var text = $(this).val();
		
		if (text.indexOf(arrText[i])!=-1) {
			/*$(".angel").slideDown("slow");	
			showangelIndex ++;
			if(showangelIndex > 3){
				$(".angel").hide();//只给弹出来三次?
			}*/
			var hasPopguides = util.getCookie('gsrl_haspopguides');
			hasPopguides++;
			if(hasPopguides >= 4){
				$(".angel").hide();
			}else{
				$(".angel").slideDown("slow");
			}
			sethaspopguides(hasPopguides);
					
			}
		}
});

$(".angel-close").click(function(){
	$(".angel").fadeOut("slow");
});

/*设置cookie值*/
function sethaspopguides(num){
	var expire = new Date((new Date()).getTime() + 24 * 365 * 600000);
	util.setCookie('gsrl_haspopguides', num , expire, '/', document.domain, 0);	
	
}

 

注释的部分用的是全局变量来实现计数三次,隐藏,但是刷新页面之后又会重新来计数,所以要用的cookie,,

在这里设置cookie 有个变量,,

弹出一次变量++

以后就不会在出来了。

 

 

 

 

1
0
分享到:
评论

相关推荐

    javascript中cookie对象用法实例分析.docx

    ### JavaScript中Cookie对象用法实例分析 #### 一、引言 在Web开发中,Cookie是一种常用的技术,用于客户端保存用户信息,以便于网站能够识别并记住用户的状态。本篇文章将深入探讨JavaScript中Cookie对象的基本...

    javascript cookie 操作框架 XCookie

    这个框架的源码分析可以帮助开发者深入理解如何在JavaScript中优雅地处理cookie。源码中可能包含对DOM API的使用,以及事件监听和封装的最佳实践。通过阅读源码,我们可以学习到如何构建自己的工具库,以及如何优化...

    js中cookie的使用详细分析.docx

    ### JavaScript中Cookie的使用详细分析 #### 一、引言 在Web开发中,实现跨页面数据持久化是一项常见的需求。传统的JavaScript变量作用域仅限于当前页面生命周期,一旦页面刷新或用户离开,这些变量就会丢失。为了...

    javascript.cookie

    - **创建Cookie**: 在JavaScript中,可以使用`document.cookie`属性来创建Cookie。例如,创建一个名为"user",值为"John"的Cookie: ```javascript document.cookie = "user=John; expires=Thu, 31 Dec 2099 23:59:...

    cookie使用,localStorage使用

    在Web开发中,数据存储是不可或缺的一部分,尤其是...对于学习和实践,"CookieTest"这个文件名可能包含了一些关于Cookie测试的代码示例,通过查看和分析这些代码,可以进一步加深对Cookie和localStorage的理解和运用。

    js中cookie的使用详细分析

    JavaScript中的Cookie是一种小型文本文件,由浏览器存储在用户的本地设备上,主要用于在用户与网站交互时持久化数据。Cookie的设计初衷是为了弥补Web应用程序中的全局变量不足,它可以在多个页面间保持状态,允许...

    Javascript操纵Cookie实现购物车程序.txt

    通过上述分析,我们可以看出使用JavaScript操纵Cookie实现购物车功能是一个实用且高效的方法。它不仅能够帮助开发者快速实现基本的购物车功能,还可以根据实际需求进行扩展和优化。需要注意的是,在实际项目中还应...

    Javascript逆向分析+Cookie加密+补环境+逆向学习

    JavaScript逆向分析、Cookie加密、补环境搭建、逆向学习等技术和方法相互交织,共同构 成了一个丰富而复杂的学习和研究领域。深入探索这些领域,将有助于我们更好地理解和运用JavaScript编程,提升自身的反混淆能力...

    javascript中cookie对象用法实例分析

    JavaScript中的cookie对象用法是一个重要的前端技术,主要涉及到网站与用户之间的数据存储和交互。本文将详细解析如何在JavaScript中实现对cookie的操作,包括写入、读取以及删除cookie。 首先,我们要明确cookie是...

    javascript小甜饼_cookie方法

    本文将深入探讨Cookie的基本概念、工作原理、创建与使用方法,并通过分析标签"源码"和"工具"来展示实际应用中的实现。 首先,Cookie是由服务器端发送到客户端(用户的浏览器)的一小段文本信息,浏览器在接收到...

    javascript小工具之——cookie操作

    在这些任务中,Cookie是JavaScript用来存储和检索少量信息的一种机制,特别是在用户会话管理、个性化设置和跟踪用户行为时非常有用。这篇博客“javascript小工具之——cookie操作”很可能会探讨如何利用JavaScript...

    mvc中cookie安全

    **描述分析:**描述指出我们需要关注如何在MVC应用中安全地读写Cookie,并利用Cookie的`HttpOnly`属性来防范通过jQuery或其他JavaScript库进行的跨站脚本(XSS)攻击。`HttpOnly`标记是一个重要的安全特性,它可以...

    javascript经典特效---cookie的写入.rar

    在JavaScript中,我们通常使用`document.cookie`属性来读取、设置或删除Cookie。然而,由于`document.cookie`只能设置整个字符串,所以写入Cookie需要进行字符串拼接和解析。 1. 写入Cookie 写入Cookie的基本步骤...

    JavaScript操作Cookie方法实例分析

    JavaScript操作Cookie的方法包括设置cookie、读取cookie、删除cookie以及删除所有cookie,这些方法对于前端开发者在Web开发过程中对用户进行跟踪、个性化设置、状态管理等方面有着重要的作用。下面详细介绍这些操作...

    JavaScript Cookie显示用户上次访问的时间和次数

    对于月份和星期的显示,代码中使用了数组来转换数字到中文的月份和星期名称。 值得注意的是,JavaScript 中日期的月份是从0开始计数的,因此在显示月份时,需要从 Date 对象中获取的月份值减1,以便于使用中文数组...

    jQuery Cookie (内附 上百行的中文使用手册,与 所有的注释中文翻译)

    jQuery Cookie是jQuery的一个插件,为开发者提供了方便、简洁的API来操作Cookie,无需处理复杂的原生JavaScript API。这个压缩包包含了一个中文版的使用手册和对源代码的详细注释,对于学习和使用jQuery Cookie非常...

    javascript cookie解码函数(兼容ff)

    ### JavaScript Cookie解码函数(兼容Firefox) 在Web开发中,Cookie是存储用户信息的一种常见方式。它可以帮助网站记住用户的偏好设置、登录状态等信息。然而,由于Cookie在传输过程中可能会被编码,因此在读取...

    ga-cookie:谷歌分析cookie解析JavaScript实现

    在JavaScript中,我们可以使用`document.cookie`来访问当前页面的所有Cookie。这个字符串包含了所有Cookie,每个Cookie由分号和逗号分隔。例如: ```javascript var cookies = document.cookie.split(';'); ``` ...

    C#获取WebBrowser中的cookie和userAgent

    在C#中,获取WebBrowser控件中的cookie需要使用`WebBrowser.Document.Cookie`属性。以下是一个简单的示例: ```csharp private void webBrowser1_DocumentCompleted(object sender, ...

Global site tag (gtag.js) - Google Analytics