javascript操作cookie方法函数集合第1/2页

问题:
使得在访问页面的时候能够沿用上次的设置,或者在不同的页面间共享数据。比如用户在访问网站的时候设置了页面字体的大小,那么会希望下次访问的时候仍然能使用同样的设置进行浏览,而不用重复设置。
解决方案:
在用户浏览页面并进行设置时,将这些设置保存在cookie中,下次访问的时候读取cookie中的设置。
参考下面的脚本:


代码如下:

// utility function to retrieve an expiration data in proper format;
function getExpDate(days, hours, minutes)
{
var expDate = new Date();
if(typeof(days) == "number" && typeof(hours) == "number" && typeof(hours) == "number")
{
expDate.setDate(expDate.getDate() + parseInt(days));
expDate.setHours(expDate.getHours() + parseInt(hours));
expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
return expDate.toGMTString();
}
}
//utility function called by getCookie()
function getCookieVal(offset)
{
var endstr = document.cookie.indexOf(";", offset);
if(endstr == -1)
{
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
}
// primary function to retrieve cookie by name
function getCookie(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while(i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
{
return getCookieVal(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if(i == 0) break;
}
return;
}
// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure)
{
document.cookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
// remove the cookie by setting ancient expiration date
function deleteCookie(name,path,domain)
{
if(getCookie(name))
{
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}

使用getCookie(name)函数来读取cookie中保存的值,参数name为cookie项的名称。如果该cookie项不存在则返回一个空字符串。
使用setCookie()函数来保存cookie项的值,其中第一、二两个参数分别为cookie项的名称和值。如果想为其设置一个过期时间,那么就需要设置第三个参数,这里需要通过getExpDate()获得一个正确格式的参数。
最后,使用deleteCookie()来删除一个已存在的cookie项,实际上是通过让该项过期。
cookie将数据保存在客户端。页面的脚本只能读取所在域和服务器的cookie值,如果域内有多个服务器,那么需要设置第五个参数,以指定服务器。浏览器的容量一般限定为每服务器20个name/value对,每个cookie项不超过4000个字符,更现实点,单个cookie项应少于2000字符,也就是说不要用cookie在客户端保存大容量数据。
不同的浏览器保存cookie的方式也有所不同。IE为每个域的cookie建立一个文本文件,而Netscape则将所有的cookie存储在同一个文本文件中。
注意:cookie存放在客户端,所以会受到浏览器设置的影响,比如用户可能会禁用cookie。要检测浏览器是否支持cookie,使用属性navigator.cookieEnabled来判断。

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • Javascript操作cookie的函数代码

    javascript操作cookie简单版本 复制代码 代码如下: function setCookie(name, value, iDay) { var oDate = new Date(); oDate.setDate(oDate.getDate() + iDay); document.cookie = name+'='+value+';expires='+oDate; } function getCookie(name) { var arr = document.cookie.split(

  • javascript操作Cookie(设置、读取、删除)方法详解

    Cookie是客户端存放数据的一种方式,可用来做状态保持. 1.设置Cookie: a.无过期时间:(若不设置过期时间,默认为会话级Cookie,浏览器关闭就会失效) 复制代码 代码如下: function setCookie(name,value) {     document.cookie = name + '=' + escape(value); } b.固定过期时间: 复制代码 代码如下: function setCookie(name,value) {     var Days = 3

  • JavaScript中Cookie操作实例

    JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cookie数据). Cookie文件由所访问的Web站点建立,以长久的保存客户端与Web站点间的会话数据,并且该Cookie数据只允许被所访问的Web站点进行读取. Cookie文件的格式: NS:Cookie.txt IE:用户名@域名.txt 有两种类型的cookie: (1)持久性cookie,会被存储到客户端的硬盘上. (2)会话Cookie:不

  • javascript实现操作cookie实现的可记忆菜单

    可记忆菜单 body {font:12px Tahoma, sans-serif;color:#4D4D4D;margin:0px; text-align:center} a{color:#4D4D4D;text-decoration:none} a:hover{color:#AD0000;text-decoration:none} #menu {width:160px;margin:0px;padding:0px;text-align:left;list-style:none;border:1

  • javascript操作cookie的文章(设置,删除cookies)

    下面这篇是国外的一篇文章.http://www.jb51.net/article/20553.htm 复制代码 代码如下: var sel = new Object(); var sel_num = 0; function getCookieVal(offset) { var endstr = document.cookie.indexOf(";", offset); if (endstr == -1) endstr = document.cookie.length; return u

  • 基于javascript的COOkie的操作实现只能点一次

    我知道很多人在网站开发的时候其实需要这个功能的,就是控制用户一直点顶什么的!所以我在这里简单写一下,基于javascript的COOkie的操作! 复制代码 代码如下: //设置cookie function setCookie(key, value) {         document.cookie = key + "=" + escape(value); } //获取cookie的值     function getCookie(key) {         if (docume

  • javascript cookie操作类的实现代码小结附使用方法

    第一种方法:cookie操作类,代码封装了,下面也有使用方法,大家可以参考下. 复制代码 代码如下: String.prototype.Trim = function() { return this.replace(/^\s+/g,"").replace(/\s+$/g,""); } function JSCookie() { this.GetCookie = function(key) { var cookie = document.cookie; var coo

  • javascript操作cookie_获取与修改代码

    复制代码 代码如下: function $Cookie(){ var a=arguments.callee; var b=a._cached; if(a._cached){return a._cached} if(!(this instanceof a)){return new a} if(typeof a._cached=="undefined"){a._cached=this} } $Cookie.prototype.get=function(e){ var a=document.

  • javascript cookies操作集合

    复制代码 代码如下: function SetCookie(sName, sValue) { date = new Date(); var str=sName+"="+escape(sValue)+(";expires="+date.toGMTString())+";path=/"; str=str.replace("2010","2099"); document.cookie=str; alert(&qu

  • JavaScript 对Cookie 操作的封装小结

    Javascript 没有 private , public 访问权限设置的关键字,但是可以通过一定的技巧来模拟出相同的结果. 首先我们来看下面一行代码: var i = (1, 2, 3, 4, 5); 变量 i 最后的结果为 5. 这是逗号操作符的结果,也就是说返回最后的一个值,小括号改变了这行代码的优先级,否则 var i = 1, 2, 3, 4, 5; 会报错缺少标识符. var i = (1, 2, 3, 4, function(){ return 5 * 5;}); 变量 i 最后

  • JavaScript操作Cookie详解

    什么是 Cookie "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值." - w3school cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息. 从JavaScript的角度看,cookie 就是一些字符串信息.这些信息存放在客户端的计算机中,用于客户端计算机与服务器之间传递信息. 在JavaScript中可以通过 doc

  • Javascript Cookie读写删除操作的函数

    复制代码 代码如下: function getCookie( name ) { var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1

  • 浅析javascript操作 cookie对象

    Cookie 对象 是一种以文件(Cookie文件)的形式保存在客户端硬盘的Cookies文件夹中的数据信息(Cookie数据).Cookie文件夹中的用户数据信息(Cookie数据).Cookie文件由所访问的Web站点建立,以长久的保存客户端与Web站点间的会话数据,并且该Cookie数据只允许被所访问的Web站点进行读取.(不允许进行跨域的访问) Cookie文件的格式: NS:Cookie.txt IE:用户名@域名.txt javascript 写入Cookie 格式: documen

  • javascript 操作cookies及正确使用cookies的属性

    一.从写 cookie 说起. var the_date = new Date("December 31, 2020"); var expiresDate = the_date.toGMTString(); document.cookie = "userDefineCSS=" + escape(title) + "; expires=" + expiresDate; 第一句是日期对象: 第二句将日期格式转换成 GMT 格式:编者者: GMT 即格

随机推荐