Jquery cookie插件实现原理代码解析

 更新时间:2020年08月04日 14:19:56   作者:大专栏  
这篇文章主要介绍了Jquery cookie插件实现原理代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的本地终端上的数据。

jQuery提供了一个十分简单的插件(名称也是Cookie)来管理网站的Cookie。

下载地址:http://github.com/carhartl/jquery-cookie

例子: 当在用户名字段填写用户名后,单击下面的“记住用户名”复选框后,再次打开这个页面,发现用户名字段上已经被自动赋值(之前所填写的用户名)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../scripts/jquery.js" type="text/javascript"></script>
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function() {
  	var COOKIE_NAME = 'username';
  	if( $.cookie(COOKIE_NAME) ){
  		$("#username").val( $.cookie(COOKIE_NAME) );
  	}
  	$("#check").click(function(){
  		if(this.checked){
  			$.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 });
  		}else{
  			$.cookie(COOKIE_NAME, null, { path: '/' });
  		}
  	});
  
  });

</script>
</head>
<body>
  用户名:<input type="text" name="username" id="username" /> <br/>
  <input type="checkbox" name="check" id="check"/>记住用户名
</body>
</html>

调试:

使用chrome调试,发现无法实现效果

尝试获取cookie文件也失效

原因:

chrome不支持js在本地操作cookie。据测试,除了chrome浏览器外,其他主流浏览器(ie、firefox等)都支持js在本地操作cookie。当然部署到服务器上所有浏览器都是支持的。

扩展:

操作cookie失效还有一个原因:浏览器设置成不支持Cookie。

可以通过以下代码测试浏览器是否支持Cookie或者Cookie是否被禁用?

var dt = new Date(); 
dt.setSeconds(dt.getSeconds() + 60); 
document.cookie = "cookietest=1; expires=" + dt.toGMTString(); 
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1; 
if(!cookiesEnabled) { 
	//没有启用cookie 
	alert("没有启用cookie ");
} else{
	//已经启用cookie 
	alert("已经启用cookie ");
}

经测试,chrome的确没有启用Cookie,因此上述例子达不到效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • jquery操作checked属性以及disabled属性的多种方法

    jquery操作checked属性以及disabled属性的多种方法

    这篇文章主要介绍了jquery控制checked属性以及disabled属性的多种方法,下面只提到checked,其实disabled在jquery里的用法和checked是一模一样的,需要的朋友可以参考下
    2014-06-06
  • jQuery中offset()方法用法实例

    jQuery中offset()方法用法实例

    这篇文章主要介绍了jQuery中offset()方法用法,实例分析了offset()方法的功能、定义及返回或设置所匹配元素相对于document对象的偏移量时的使用技巧,需要的朋友可以参考下
    2015-01-01
  • JQuery实现ajax请求的示例和注意事项

    JQuery实现ajax请求的示例和注意事项

    今天小编就为大家分享一篇关于JQuery实现ajax请求的示例和注意事项,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • jQuery UI旋转器部件Spinner Widget

    jQuery UI旋转器部件Spinner Widget

    这篇文章介绍了jQuery UI旋转器部件Spinner Widget,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 超简单的jquery的AJAX用法

    超简单的jquery的AJAX用法

    超简单的jquery的AJAX用法,需要的朋友可以参考下。
    2010-05-05
  • Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例

    Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例

    本篇文章主要是对Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • jQuery extend()详解及简单实例

    jQuery extend()详解及简单实例

    这篇文章主要介绍了jQuery extend()详解及简单实例的相关资料,需要的朋友可以参考下
    2017-05-05
  • jquery实现列表上下移动功能

    jquery实现列表上下移动功能

    这篇文章主要为大家详细介绍了jquery 实现列表上移、下移功能的相关资料,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • jquery 新浪网易的评论块制作

    jquery 新浪网易的评论块制作

    新浪网易的评论块制作 因为 textarea里面不能放图片,所以和新浪的做法一样,选用iframe放内容,然后隐藏一个 textarea用于提交。
    2010-07-07
  • 利用jquery去掉时光轴头尾部线条的方法实例

    利用jquery去掉时光轴头尾部线条的方法实例

    这篇文章主要给大家介绍了利用jquery实现去掉时光轴头尾部线条的方法,文中给出了详细的实例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06

最新评论