转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx
cookie是网页存储到用户硬盘上的一小段信息。最常见的作用是判断用户是否登录、保存偏好设置等。我用到这个是写扫雷时,需要用cookie保存用户的设置,如行、列等。功能已具,笔而记之。
cookie具有特定的格式——
cookiename=cookievalue; expires=epirationDateGMT; path=URL; domin=siteDomin; secure: boolean
可以看出由分号隔开的几部分——第一部分是cookie的名称和值,这是每一个cookie中必须有的。其余部分都是可选的:第二部分是cookie的过期时间,到了这个时间浏览器会自动将其删除,如果没有这部分则默认是在关闭浏览器时将其删除。第三部分允许在cookie中存储一个URL,第四部分存储一个域值(这个基本不用管,浏览器会将当前网页的地址存入),第五部分是一个布尔值,为ture时要求传输一个安全协议,如https。
一般我们只需要讨论第一部分和第二部分,即值和过期时间。
javascript的写cookie操作示例:
- var expireDate = new Date();
- expireDate.setDate(expireDate.getDate()+1);
- var cookieValue = "hello";
- document.cookie = "aCookie=" + cookieValue +"; expires="+expireDate.toGMTString();
- alert(document.cookie);
这段代码执行完之后就会创建一个cookie,名称为aCookie,值为"hello",过期时间为一天后。最后一句会打印出这个cookie的内容
可以在谷歌浏览器中查看到它的信息:(谷歌浏览器不支持本地网页文件的cookie,要用它操作cookie必须要放到服务器上!!早先不知道这个,Chrome中没出想要的结果,我费劲心思纠结好久好久……囧)
名称: aCookie
内容: hello
域: 127.0.0.1
路径: /Test2
发送: 各种连接
可访问脚本的 Cookie: 是
已创建: 2011年4月27日星期三下午8:37:12
过期时间: 2011年4月28日星期四下午8:37:12
一个页面是可以有多个cookie的,它们会被存放在同一个文件中,所以形如 aCookie=”Hello”; anotherCookie=”world” 是一个合法的cookie
cookie本质上是一段字符串,所以可以用任何操作字符串的方法去操作它, 对于上面一个cookie,可以用代码:var string = document.cookie.split("=")[1].split(";")[0]; 获取aCookie的值"hello”.
当只设置一个cookie时,存取操作都不复杂,但是当一个页面中存在多个cookie时,这个操作就会变的优点复杂了,如上面得到"hello”的字符串操作就已经略显复杂了。
这时候我们可以借助JQuery来实现更优雅的操作。
JQuery的一个小插件~只有1K多的,名称即为Cookie,包含且只包含如下代码——
- jQuery.cookie = function(name, value, options) {
- if (typeof value != 'undefined') {
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString();
- }
-
-
-
- var path = options.path ? '; path=' + (options.path) : '';
- var domain = options.domain ? '; domain=' + (options.domain) : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- } else {
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
-
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
- };
只要将这段代码加载之后,便可以使用它的方法了(加载的方法不用多说了吧?最简单的是你直接把它拷到你所用的jQuery中;或者把这段单独存为一个js文件,在html文件中引用……)。
很方便的操作,用法大致如下:
- $.cookie('the_cookie');
- $.cookie(’the_cookie’, ‘the_value’);
- $.cookie(’the_cookie’, ‘the_value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
- $.cookie(’the_cookie’, ‘the_value’);
- $.cookie(’the_cookie’, null);
其实可以看到,这个插件中只有一个方法,而用参数的不同来实现不同的操作。
一个示例——
-
- padding-top: 0px !important; padding-right: 3px !important; padding-bottom: 0px !important; padding-left: 10px !important; border-top-style: none; border-right-style: none; border-bottom-style:
分享到:
相关推荐
本人学习jquery的代码和笔记,主要是jquery的入门知识,以及前后台数据交互。包括一个jquery的web工程和一个配置好的tomcat。jquery工程是用myeclipse10做的,如果eclipse打不开可以重新建工程,再把对应的文件拷贝...
Web前端学习笔记:HTML5+CSS3+JavaScript.pdf
你可以使用 JavaScript 来创建和取回 cookie 的值 2、有关cookie的例子: •名字 cookie 当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似...
JavaScript 编程语言,本教程文档来源网站: https://zh.javascript.info/ 个人离线学习参考阅读使用。
JavaScript学习笔记(包含有常用用例)。 个人精心整理,可快速入门,也可当手册使用。 从基础到熟练,还包括有js的正则表达式使用、乱码对策等技巧内容。值得收藏。 更多:http://download.csdn.net/user/daillo/all
《XMPP高级编程 使用JavaScript和jQuery》 高清扫描 完整版 PDF电子书 详细书签 这是刚出炉的第一本完整PDF,网上其它地方流传的都是试读版PDF坑爹呢。 友情提醒: 大家在阅读高清扫描版PDF书籍时,如果需要做...
halcon引擎学习笔记(七)在在HDevEngine/C#中使用实时编译器JIT http://www.skcircle.com/?id=1349 halcon引擎学习笔记(六)多线程并发执行外部函数,多窗口显示 http://www.skcircle.com/?id=1350 halcon引擎...
html/css/js/jquery/xml/jsp/servelt/mvc
Vue3快速上手(Vue3学习笔记) .Vue3简介 - 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) - 耗时2年多、[2600+次提交](https://github.com/vuejs/vue-next/graphs/commit-activity)、[30+个RFC]...
狂神说javaScript原装笔记
Jquery学习笔记 Jquery学习笔记 Jquery学习笔记
GDAL库学习笔记,包括GDAL库的安装、卫星影像的读写等操作,很详细的文档
javascript jquery 学习笔记 资料
NAME:cookie的名字 VALUE:cookie的值 Expires:cookie的过期时间 Path:cookie作用的路径 Domain:cookie作用的域名 SECURE:是否只再https协议下起作用 set-cookie 通知客户端保存的数据 作者:zs578695
博文的配套源码 《【Visual C++】游戏开发笔记之十四 游戏画面绘图(四) 华丽的CImage类 》 ,原文地址为http://blog.csdn.net/zhmxy555/article/details/7422922, 源码编译环境为vs2010. 我的博客地址是...
NULL 博文链接:https://goyourauntie.iteye.com/blog/745626
NULL 博文链接:https://quarterlifeforjava.iteye.com/blog/2086978
《C++游戏开发》笔记十一 平滑动画 源代码 欢迎大家阅读配套博文 http://blog.csdn.net/u011371356/article/details/9430645
前端学习笔记整理:HTML, CSS, JavaScript, Web 性能优化, 工具, 框架, 资源 前端学习笔记整理:HTML, CSS, JavaScript, Web 性能优化, 工具, 框架, 资源 前端学习笔记整理:HTML, CSS, JavaScript, Web 性能优化, ...
jquery解释: jquery是javascript的类库,提供了大量的javascript的类库和API,方便javascript开发。 jquery API中文参考手册: http://jquery-api-zh-cn.googlecode.com/svn/trunk/index.html 前台数据提交...