在 JS(JavaScript) *** 作cookies比较复杂,在 ASP 里面我们只需要知道 cookie 的名称、cookie 的值就行了,而 JS 里面,我们面对的是 cookie 的字符串,你自己编写这个字符串写入客户端,然后自己解析这个字符串。
一、从写 cookie 说起。
var the_date = new Date("December 31, 2020");
var expiresDate = the_datetoGMTString();
documentcookie = "userDefineCSS=" + escape(title) + "; expires=" + expiresDate;
第一句是日期对象;
第二句将日期格式转换成 GMT 格式;编者者: GMT 即格林威治标准时间,现在也称 UTC 即全球标准时间。
第三句是将 cookie 内容写入客户端。
其中 expires 是系统使用的,表示 cookie 的失效日期(也可以省略),expires 不可读。
escape 是对 cookie 值进行编码,这是为了处理中文、空格等而设立的。
二、取 cookie 是比较简单的。
function GetCSS()
{
var cookieStr = documentcookie; //取 cookie 字符串,由于 expires 不可读,所以 expires 将不会出现在 cookieStr 中。
if (cookieStr == "")
{
return "main1"; //没有取到 cookie 字符串,返回默认值
}
var cookieValue = cookieStrsplit("; "); //将各个 cookie 分隔开,并存为数组,多个 cookie 之间用分号加空隔隔开,不过前面我们只使用了一个 cookie,它的值与 expires 之间也是用分号加空格隔开的
var varName = "userDefineCSS";
var startPos = -1;
var endPos = -1;
for (var i=0; i<cookieValuelength; i++)
{
startPos = cookieValue[i]indexOf(varName);
if (startPos != 0)
{
continue; //当前 cookie 不是名称为 varName 的 cookie,判断下一个 cookie
}
startPos += varNamelength + 1; //当前 cookie 就是名称为 varName 的 cookie,由于有等号,所以 +1
endPos = cookieValue[i]length;
var css = unescape(cookieValue[i]substring(startPos, endPos));
return css;
}
return "main1";
}
function getCookie(a){
var b = "";
var c = a + "=";
var d = documentcookie;
if (dlength > 0) {
g = dindexOf(c);
if (g != -1) {
g += clength;
f = dindexOf(";", g);
if (f == -1)
f = dlength;
b = unescape(dsubstring(g, f));
};
};
return b;
},
这里的SetCookie 是自己定义的一个函数
如:
function setCookie(name, value, expire) {
windowdocumentcookie = name + "=" + escape(value) + ((expire == null) "" : ("; expires=" + expiretoGMTString()));
}
所以里面的这些参数都是直接定义的JS只有windowdocumentcookie 定义cookie的方法至于里面的值 直接定义
第一种很简单:
将系统B设置为可信站点。
第二种:
IE设置隐私策略:在Internet选项->隐私->高级,将“替代自动cookie处理”的选项打上,并“第一方cookie”和“第三方cookie” 都设置为 接受;如下图:
第三种:
在response的head上增加p3p协议;
java: 增加一个filter ,在 doFilter 部分:
Java代码
代码如下 复制代码
>
js *** 作COOKIE,直接给document加上cookie就可以了,但是一般如果单个的加会很麻烦所以一般会直接写好一个函数,可以直接 *** 作cookie,这样就很方便了
setCookie这个是写入cookie,第一个是名称,第二个是cookie值,第三个是过期时间
getCookie这个是查找cookie;
removeCookie这是你需要删除的cookie;
function setCookie(name, value, iDay){
var oDate=new Date();
oDatesetDate(oDategetDate()+iDay);
documentcookie=name+'='+encodeURIComponent(value)+';expires='+oDate;
}
function getCookie(name)
{
var arr=documentcookiesplit('; ');
var i=0;
for(i=0;i<arrlength;i++)
{
//arr2->['username', 'abc']
var arr2=arr[i]split('=');
if(arr2[0]==name)
{
var getC = decodeURIComponent(arr2[1]);
return getC;
}
}
return '';
}
function removeCookie(name)
{
setCookie(name, '1', -1);
}
存:
documentcookie = "name=Kevin;expires="+new Date()getDate()+7; //有效期7天
取:
function GetCookie(sName)
{
var aCookie = documentcookiesplit("; ");
for (var i=0; i < aCookielength; i++)
{
var aCrumb = aCookie[i]split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
return null;
}
GetCookie('name') //Kevin
以上就是关于JS *** 作 cookies 的方法全部的内容,包括:JS *** 作 cookies 的方法、关于js读取cookie、js *** 作cookie 添加,获取,删除,分别有什么参数,且各个参数代表什么。特别是添加cookie的时候。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)