如何用js向cookie中保存数据、取数据?

如何用js向cookie中保存数据、取数据?,第1张

用js向cookie中保存数据、获取数据的方法如下:

function GetCookieVal(offset)

//获得Cookie解码后的值

{

var endstr = document.cookie.indexOf ("", offset)

if (endstr == -1)

endstr = document.cookie.length

return unescape(document.cookie.substring(offset, endstr))

}

//---------------------------

function SetCookie(name, value)

//设定Cookie值

{

var expdate = new Date()

var argv = SetCookie.arguments

var argc = SetCookie.arguments.length

var expires = (argc >2) ? argv[2] : null

var path = (argc >3) ? argv[3] : null

var domain = (argc >4) ? argv[4] : null

var secure = (argc >5) ? argv[5] : false

if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ))

document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("expires="+ expdate.toGMTString()))

+((path == null) ? "" : ("path=" + path)) +((domain == null) ? "" : ("domain=" + domain))

+((secure == true) ? "secure" : "")

}

//---------------------------------

function DelCookie(name)

//删除Cookie

{

var exp = new Date()

exp.setTime (exp.getTime() - 1)

var cval = GetCookie (name)

document.cookie = name + "=" + cval + "expires="+ exp.toGMTString()

}

//------------------------------------

function GetCookie(name)

//获得Cookie的原始值

{

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 null

}

SetCookie("username1",99)

alert(GetCookie("username1"))

可以使用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>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9563062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存