jscookie的内存(jscookie操作)
js文件Cookie存取值的使用
这篇文章主要介绍了js文件Cookie存取值的使用,需要的朋友可以参考下
代码如下:
/*
Cookie工具
使用方法:
//存值
var
value
=
"7天";
tools.cookie("day",value,
{expires:7});
//将字符串:"7天"
以
"day"这个key保存到cookie中5天
//取值
var
v
=
tools.cookie("day");
//用
"day"
这个key从cookie取出值
*/
tools.cookie
=
function(name,
value,
options)
{
if
(typeof
value
!=
'undefined')
{
//
name
and
value
given,
set
cookie
options
=
options
||
{};
if
(value
===
null)
{
value
=
'';
options.expires
=
-1;
}
var
expires
=
'';
if
(options.expires
(typeof
options.expires
==
'number'
||
options.expires.toGMTString))
{
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.toGMTString();
//
use
expires
//
attribute,
//
max-age
is
not
//
supported
by
IE
}
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
{
//
only
name
given,
get
cookie
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]);
//
Does
this
cookie
string
begin
with
the
name
we
want?
if
(cookie.substring(0,
name.length
+
1)
==
(name
+
'='))
{
cookieValue
=
decodeURIComponent(cookie
.substring(name.length
+
1));
break;
}
}
}
return
cookieValue;
}
};
原生JS如何向cookie里面保存小量数据
!DOCTYPE?HTML
html?lang="en-US"
head
meta?charset="UTF-8"
meta?name="keywords"?content="白菜编辑部"
title白菜编辑部/title
style?type="text/css"
/style
script?type="text/javascript"
????function?readCookie?(name)
????{
????????var?cookieValue?=?"";
????????var?search?=?name?+?"=";
????????if?(document.cookie.length??0)
????????{
????????????offset?=?document.cookie.indexOf?(search);
????????????if?(offset?!=?-1)
????????????{
????????????????offset?+=?search.length;
????????????????end?=?document.cookie.indexOf?(";",?offset);
????????????????if?(end?==?-1)
????????????????????end?=?document.cookie.length;
????????????????cookieValue?=?unescape?(document.cookie.substring?(offset,?end))
????????????}
????????}
????????return?cookieValue;
????}
????function?writeCookie?(name,?value,?hours)
????{
????????var?expire?=?"";
????????if?(hours?!=?null)
????????{
????????????expire?=?new?Date?((new?Date?()).getTime?()?+?hours?*?3600000);
????????????expire?=?";?expires="?+?expire.toGMTString?();
????????}
????????document.cookie?=?name?+?"="?+?escape?(value)?+?expire;
????}
?????
????writeCookie?("myCookie",?"my?name",?24);
????alert?(readCookie?("myCookie"));
/script
/head
body
/body
/html
js中cookie的问题
document默认没有cookie方法,只有cookie属性,而且这个属性读取和赋值操作很怪异。
读取
var?cookie=document.cookie;//获取cookie,返回的是所有能读取的cookie键值对,多个cookie之间用";?"分隔,如"cookie1=value1;?cookie2=value2"
设置cookie值不会把其他非同名的cookie覆盖的,而且一次只能设置一个cookie
document.cookie="cookie3=value3;?参数1=参数值1;?参数2=参数值2";//这个只设置cookie3,参数可以是path、过期时间等,如果cookie3已经存在就会被覆盖,其他的cookie不受影响,这个和读取cookie相比,很怪异吧,如果是所有浏览器都提供属性的get和set方法稍微看的舒服一点。
如何用js向cookie中保存数据,取数据。
可以使用jquery.cookie.js扩展包,先到网络上下载好
使用方法:
前后html省略
script src="/js/jquery.cookie.js"/script
script
//设置cookie
//test为键名,1为键值,第三个参数是失效时间
$.cookie("test", "1", { expires: 7 }); // 存储一个带7天期限的 cookie
//读取cookie
$.cookie("test");
//删除cookie
$.cookie("test", "1", { expires: -1 }); //设置过期时间为负就失效了
/script
js设置cookie的简单方法
一,js设置cookie的用处
php可以设置cookie的,用js来设置cookie有什么好处呢?在前端进行操作时,有的时候要传很多参数,这个时候,我们可以把这些参数拼接到url后面进行传值,那边在接收参数,不过这样挺麻烦的,如果把这些数据放到cookie里面,就开发者的开发效率来说,我想会高一些,以淘宝为例,他有一级分类,二级分类,三级,四级,我们找商品的时候,可能会牵扯到很多条件,如果把这些条件都放到cookie里面,我感觉就方便多了,不知道淘宝是不是这样的。淘宝的url是加了密的,并且好长,有可能是根在url的后面。费话不多说看一个小例子。
二,js实例
调用一下上面方法:
setCookie("test","tank",1800); //设置cookie的值,生存时间半个小时
alert(getCookie('test')); //取得cookie的值,显示tank
clearCookie("test"); //删除cookie的值
alert(getCookie('test')); //test对应的cookie值为空,显示为false.就是getCookie最后返的false值。