js保存,获取,删除cookie的操作
【转】来自:http://blog.csdn.net/itmyhome1990/article/details/7363816
JSP表单页面
- <form action="login" method="post">
- 用户名:<input type="text" name="username" id="username" /><br>
- 密码:<input type="password" name="password" /><br />
- <input type="checkbox" id="remember" checked="checked">
- 记住用户名<input type="submit" value="登录" id="sub" />
- </form>
JS操作cookie
- <script type="text/javascript">
- $(document).ready(function() {
- var name = getCookie("username");
- //$("#username")[0].value=name;
- $("#username").val(name);
- /*
- * 当点击登录按钮时 判断是否勾选记住用户名
- * 如果勾选 则将用户名保存在Cookie中 否则删除
- */
- $("#sub").click(function() {
- if ($("#remember").attr("checked") == true) {
- //获得用户名
- var username = $("#username").val();
- //设置cookie
- setCookie("username", username);
- } else {
- //删除cookie
- delCookie("username")
- }
- })
- function setCookie(name, value) {
- var Days = 60; //cookie 将被保存两个月
- var exp = new Date(); //获得当前时间
- exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); //换成毫秒
- document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
- }
- function getCookie(name) {
- //取出cookie
- var strCookie = document.cookie;
- //cookie的保存格式是 分号加空格 "; "
- var arrCookie = strCookie.split("; ");
- for ( var i = 0; i < arrCookie.length; i++) {
- var arr = arrCookie[i].split("=");
- if (arr[0] == "username") {
- return arr[1];
- }
- }
- return "";
- }
- function delCookie(name) {
- var exp = new Date(); //当前时间
- exp.setTime(exp.getTime() - 1); //删除cookie 只需将cookie设置为过去的时间
- var cval = getCookie(name);
- if (cval != null)
- document.cookie = name + "=" + cval + ";expires="+ exp.toGMTString();
- }
- })
- </script>
cookie简单介绍
cookie是浏览器提供的一种机制,它将document对象的cookie属性提供给javascript。可以由javascript对起进行控制
而并不是javascript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次
访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
cookie机制将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点。它可以用于以下几种场合。
(1) 保存用户登录状态
(2) 跟踪用户行为
(3) 定制页面
(4) 创建购物车
设置cookie
每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie
document.cookie="username=zhangsan";
如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如:
document.cookie="username=zhangsan; password=123";
在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方 法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值中,而且使用此 种方案还可以避免中文乱码的出现。
给cookie设置终止日期
到现在为止,所以的cookie都是单会话cookie,即浏览器关闭后这些cookie将会丢失。
在实际开发中,cookie常常需要长期保持,例如保存用户登录的状态,可以用下面的选项来实现:
document.cookie="username=zhangsan; expiress=GMT_String";
其中GMT_String是以GMT格式表示的时间字符串,这条语句就是将username这个cookie设置为GMT_String
表示的过期时间,超过这个时间,cookie将消失,不可访问
js保存,获取,删除cookie的操作的更多相关文章
- js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法
//是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == " ...
- js 第四章 cookie的操作
js 第四章 cookie的操作 一.学习要点 掌握cookie的简单应用 二. js 第四章 cookie的操作 了解cookie 什么是cookie? cookie 是存储于访问者的计算机中的变量 ...
- JS读取写入删除COOKIE的各种操作
1. .NET后置代码中获取 Response.Redirect("http://www.baidu.com?id=" +Request.Cookies["size&qu ...
- js添加、删除Cookie
//cookie function addCookie(objName, objValue, objHours) { //添加cookie var str = objName + "=&qu ...
- 如何设置,获取,删除cookie?
cookie : 存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来像访问者电脑上存储数据 1.不同的浏览器存放的cookie位置不一样,也是不能通用的 2.cookie的存储 ...
- Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间
有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法. 正确方法是:判断是否存在名为username3的cookie,使用do ...
- Jquery对Cookie的操作
第一步:先引用jQuery的插件jquery-1.9.1.min.js 第二步:引用jquery.cookie.js插件 下对cookie的操作: $.cookie("cookieName& ...
- js封装Cookie操作 js 获取cookie js 设置cookie js 删除cookie
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code var CookieUtil = { // 设置cookie set : functi ...
- js/java 获取、添加、修改、删除cookie(最全)
一.cookie介绍 1.cookie的本来面目 HTTP协议本身是无状态的.什么是无状态呢,即服务器无法判断用户身份.Cookie实际上是一小段的文本信息(key-value格式).客户端向服务 ...
随机推荐
- jQuery MD5 加密
一 MD5 概述 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value) ...
- RxJS之Subject主题 ( Angular环境 )
一 Subject主题 Subject是Observable的子类.- Subject是多播的,允许将值多播给多个观察者.普通的 Observable 是单播的. 在 Subject 的内部,subs ...
- [LeetCode_105]Construct Binary Tree from Preorder and Inorder Traversal
题目链接 https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 题意 由二叉 ...
- MySQL-查缺补漏
MySQL show create table tablename #查看表设计代码数据 show create table tablename/G #同上 desc tablename # 查看表数 ...
- java 编解码
decoder:解码--> 将文件内容转换为字符对象: encoder:编码-->将字符对象转换为字节或者字节数组: ASCII (American Standard for Infor ...
- widdow.locationg.可跟的参数,获取url不同的地址
- C#中多线程的并行处理
System.Threading.Tasks,在该命名空间下Task是主类,表示一个类的异步的并发的操作,创建并行代码的时候不一定要直接使用Task类,在某些情况下可以直接使用Parallel静态类( ...
- php 多进程 父进程的阻塞与非阻塞
php中进程的阻塞,主要是父进程等待子进程退出. 1.php代码如下: <?php //定义进程数量 define('FORK_NUMS', 5); //用于保存进程pid $pids = ar ...
- Centos7上安装docker及使用scrapy-splash
下载docker https://www.cnblogs.com/yufeng218/p/8370670.html 安装scrapy-splash https://www.cnblogs.com/ ...
- js generator
generator(生成器)是ES6标准引入的新的数据类型.一个generator看上去像一个函数,但可以返回多次. generator跟函数很像,定义如下: function* foo(x) { y ...