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,因此上述例子达不到效果

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

(0)

相关推荐

  • 基于JQuery的cookie插件

    简单使用方法: 复制代码 代码如下: <html> <head> <title>JQuery-Cookie插件</title> <script type="text/javascript" src="jquery-1.4.js"></script> <script type="text/javascript" src="jquery.cookie.js&quo

  • jQuery的cookie插件实现保存用户登陆信息

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>cookies.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this i

  • jQuery中cookie插件用法实例分析

    本文实例讲述了jQuery中cookie插件用法.分享给大家供大家参考,具体如下: Jquery里面提供了很多插件,方便,安全,快速实用.这节一起熟悉下JQUERY中操作Cookie的插件,插件名称为jquery.cookie.js,可以去官方网站下载. 下载地址: http://plugins.jquery.com/project/cookie. 插件主要报告如下几个用法 1.创建Cookie 创建一个名称为username,值为 admin的cookie ,如下 复制代码 代码如下: $.c

  • 快速学习jQuery插件 Cookie插件使用方法

    Cookie是网站设计者放置在客户端的小文本文件.Cookie能为用户提供很多的使得,例如购物网站存储用户曾经浏览过的产品列表,或者门户网站记住用户喜欢选择浏览哪类新闻. 在用户允许的情况下,还可以存储用户的登录信息,使得用户在访问网站时不必每次都键入这些信息 使用方法: 1.引入jquery.cookie.js <script src="scripts/jquery-1.6.4.js" type="text/javascript"></scrip

  • 详解jQuery的Cookie插件

    一.jQuery.Cookie.js插件是一个轻量级的Cookie管理插件. 特别提醒,今日发现一个特别的错误,google浏览器提示:has no method $.cookie.火狐浏览器提示:$.cookie is not a function;调试了半天,终于找到原因,如果同一个页面两次或者多次引入jQuery插件就会报此错误. 使用方法: 1.引入jQuery与jQuery.Cookie.js插件. <script src="jQuery.1.8.3.js" type=

  • jQuery结合jQuery.cookie.js插件实现换肤功能示例

    本文实例讲述了jQuery结合jQuery.cookie.js插件实现换肤功能.分享给大家供大家参考,具体如下: 上一次和大家分享了如何实现换肤功能,但是script代码好像有点长,所以这次打算使用cookie.js插件来实现换肤功能,好啦,我们开始吧. jQuery.cookie.js下载:https://github.com/carhartl/jquery-cookie/ 先来了解下cookie.js如何使用. 先导入: <script type="text/javascript&qu

  • jquery cookie插件代码类

    提供方便方法操作cookie : 复制代码 代码如下: $.cookie('the_cookie'); // 获得cookie $.cookie('the_cookie', 'the_value'); // 设置cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain:

  • jquery插件如何使用 jQuery操作Cookie插件使用介绍

    代码: 复制代码 代码如下: jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = ''; options = $.extend({}, options); // clone object since i

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

    Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的本地终端上的数据. jQuery提供了一个十分简单的插件(名称也是Cookie)来管理网站的Cookie. 下载地址:http://github.com/carhartl/jquery-cookie 例子: 当在用户名字段填写用户名后,单击下面的"记住用户名"复选框后,再次打开这个页面,发现用户名字段上已经被自动赋值(之前所填写的用户名) <!DOCTYPE html PUBLIC "-/

  • Java中LinkedList原理代码解析

    本文研究的主要是Java中LinkedList原理的相关内容,具体介绍如下. 一句话概括,Java中的LinkedList其实就是使用双向链表,LinkedList的基本操作就是对双向链表的操作. 上面可以清晰的看出,链表中每个元素对应一个节点,节点里面包含三部分,一个是前一个节点的引用,一个是元素内容,一个是后一个节点的引用. 向链表中添加元素的过程就是在链表尾部追加一个节点 void linkLast(E e) { final Node<E> l = last; final Node<

  • jQuery数据显示插件整合实现代码

    显示表格数据会涉及到一些东西,如字段显示隐藏,数据状态,分页之类. 由于我们公司的产品涉及到很多的表格数据显示,而且每张表的字段数都很多,在工作过程中(几任同仁的努力),整合出一套自认为较为轻巧的方案.如图: 其中涉及到的插件主要有:jQuery.columnmanager.expand.js(扩展columnmanager)jQuery.dropbox.js(自已写的)jQuery.pager.expand.js(扩展pager) jQuery.cookie.js 其中pager.expand

  • jquery tab插件制作实现代码

    jquery插件的基本格式: 复制代码 代码如下: (function($){ $.fn.tab = function(options){//$.fn后面的tab是这个插件的函数名称.可以更具自己喜好进行修改 var defaults = { //相关属性设置 } var options = $.extend(defaults, options); this.each(function(){ //实现的功能设置 }); }; })(jQuery); 我这里是做一个tab的插件,我来完善以上代码

  • Java 内省introspector相关原理代码解析

    1. JavaBean (有get/set属性,和默认构造器等规范的java类) import java.util.Date; public class Student { // 这是 字段 private String name; private int age; private Date birthday; // 这是 属性 //(get.set开头的方法,getName.setName算一个属性,单独一个set或get也算一个属性) // 属性名为 去掉get.set后 第一个大写字母变小

  • Spring HandlerInterceptor实现原理代码解析

    HandlerInterceptor 在这里看到这个HandlerExecutionChain对interceptor的调用,在这里深入看一下. HandlerExecutionChain 就是一个类,绑定了Handler( 对应的Controller) 和 Interceptors , 所以作用就是对Controller前后执行interceptors, 类似Filter 几个问题: 1. interceptor调用位置? 1 2 3 对应调用 handlerInterceptor preHa

  • jquery cookie实现的简单换肤功能适合小网站

    前段时间试着使用jquery cookie的时候,做了一个简单的换肤功能,只适合小网站并且代码低级. 首先引入jquery和cookie插件 复制代码 代码如下: <script type="text/javascript" src="__PUBLIC__/js/jquery.js"></script> <script type="text/javascript" src="__PUBLIC__/js/co

  • PHP的cookie与session原理及用法详解

    本文实例讲述了PHP的cookie与session原理及用法.分享给大家供大家参考,具体如下: 产生背景 HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接.这就意味着服务器无法从连接上跟踪会话.于是需要引入一种机制,COOKIE于是就顺应而生. Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上.客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上.这就是

随机推荐