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格式).客户端向服务 ...
随机推荐
- GIRDVIEW 控件绑定数据后 后台c#控制隐藏某列
gv_EnterpriseInfo.DataSource = pageResult.Data; gv_EnterpriseInfo.DataBind(); 之后加判断条件: if (true) { g ...
- 网页中flash设置
我们现在大部分人做网页,都是直接用DW插入flash,而且DW也是所见即所得,直接生成了相应的flash显示代码.可是我们又有多少人了解这些直接由DW生成的代码呢?其实我接触flash player标 ...
- c++ sizeof,strlen, length
#include <map>#include <iostream>#include <algorithm>#include <functional>#i ...
- MyBatis高级映射查询(3)
一.数据库数据和项目搭建过程 1.主要要四张表,分别为user用户信息表.items商品表.orderdetail订单明细表.orders订单表.表的结构和数据如下: 表结构 CREATE DATAB ...
- go语言sync包的学习(Mutex、WaitGroup、Cond)
package main; import ( "fmt" "sync" "runtime" "time" ) //加锁, ...
- IDEA使用过程中常见小问题
在磁盘随便一个位置,创建一个文件夹,可以通过IDEA open 打开它 然后在将一些代码模块,放入这个文件夹,IDEA刷新,能够自动显示出来 然后执行下面的文档操作 1.IDEA通过一个项目文件导 ...
- stl中顺序性容器,关联容器两者粗略解释
什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...
- java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
在Tomcat下部署应用时会报这个错误,参考以下这篇博客:http://blog.csdn.net/robinsonmhj/article/details/37653189,删除Tomcat目录下we ...
- ZBlog你选择PHP还是ASP?
最近趁着空闲玩了一下zblog,对于很多第一次接触zblog的博主大多都会问zblog是PHP好还是ASP好?我们应该如何选择?其实,对于这个问题我也不是很懂,我个人比较倾向于PHP.今天我就整理一下 ...
- C语言学习第一天~Eclipse MinGW环境搭建
一.环境准备 windows 二.Windows环境下gcc编译器 1.MinGW介绍 MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist ...