Jon*_*nas 1 javascript cookies
我只想检查cookie是否存在,将cookie设置/重置1天,并在窗口/标签关闭时删除cookie
我试图用JavaScript做这个,但是地狱JS是一种愚蠢的语言(我发誓),加上我是愚蠢的.
不管怎么说,这就是我在做的事情:
function checkcookie(name)
{
//Can't figure this one out
//I want to check wheather the cookie is set or not
//if yes
//{ reset cookie + ... }
//else
//{ set cookie + ... }
}
function setcookie(name,value,day)
{
var expireDate = new Date();
expireDate.setSeconds(expireDate.getSeconds()+day*24*60*60*1000);
document.cookie = name + "=" + value + ";path=/;expires=" + expireDate.toGMTString();
}
function delcookie(name)
{
setcookie(name,"",-1);
}
Run Code Online (Sandbox Code Playgroud)
任何类型的答案都会提前得到赞赏.
Quirksmode.org有一篇关于编写与document.cookie(一个本质上不友好的对象)交互的包装器方法的优秀文章.
本文介绍了如何实现以下方法:readCookie,createCookie,和eraseCookie.
从这些方法中,很容易实现您的checkCookie函数,也就是说,如果readCookie返回null或不返回null.
这是你的checkCookie:
function checkCookie(name)
{
return readCookie(name) != null;
}
Run Code Online (Sandbox Code Playgroud)
这是本文提供的其他三个功能:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10197 次 |
| 最近记录: |