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);
}
这里的SetCookie 是自己定义的一个函数
如:
function setCookie(name, value, expire) {
windowdocumentcookie = name + "=" + escape(value) + ((expire == null) "" : ("; expires=" + expiretoGMTString()));
}
所以里面的这些参数都是直接定义的JS只有windowdocumentcookie 定义cookie的方法至于里面的值 直接定义
正常情况下,浏览器禁止跨域获取cookie
一般通过sso服务可以实现取得跨域cookie,思路如下:
域A页面访问位于域A的服务器,对权限进行验证
域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)
域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分
页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie
js自然可以设置cookies。具体如何,已经有朋友回答了,我就不多说了。更详细的,百度下,也很多。只是,需要提醒的是,js的cookie仅仅是前端的cookie,与后台无关。相应获取后端cookie,还是需要ajax获取。
var jcTool = new Object();/
清除字符串左右两边的空格
@example jcTooltrim('your string');
@return string
@desc 清除字符串左右两边的空格
/
jcTooltrim = function(text) {
return (text || '')replace(/^\s+|\s+$/g, '')
};/
创建一个指定名称和值以及其他可选参数cookie
@example jcToolcookie('the_cookie', 'the_value');
@desc 设置一个cookie
@return void
@example jcToolcookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquerycom', secure: true });
@desc 设置一个带有所有参数的cookie
@return void
@example jcToolcookie('the_cookie', null);
@desc 删除一个cookie
@return void
/
/
获取一个cookie的值
@example jcToolcookie('the_cookie');
@desc 获取一个cookie的值
@return string
@name jcToolcookie
/
jcToolcookie = function(name, value, options) {
if (typeof value != 'undefined') {
options = options || {};
if (value === null) {
value = '';
optionsexpires = -1
}
var expires = '';
if (optionsexpires && (typeof optionsexpires == 'number' || optionsexpirestoUTCString)) {
var date;
if (typeof optionsexpires == 'number') {
date = new Date();
datesetTime(dategetTime() + (optionsexpires 24 60 60 1000))
} else {
date = optionsexpires
}
expires = '; expires=' + datetoUTCString()
}
var path = optionspath '; path=' + (optionspath) : '';
var domain = optionsdomain '; domain=' + (optionsdomain) : '';
var secure = optionssecure '; secure': '';
documentcookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure]join('')
} else {
var cookieValue = null;
if (documentcookie && documentcookie != '') {
var cookies = documentcookiesplit(';');
for (var i = 0; i < cookieslength; i++) {
var cookie = jcTooltrim(cookies[i]);
if (cookiesubstring(0, namelength + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookiesubstring(namelength + 1));
break
}
}
}
return cookieValue
}
}; 以上为js获取cookies的方法,如有不明白的地方或者其他需求,请补充问题
以上就是关于如何用js来 *** 作cookie呢全部的内容,包括:如何用js来 *** 作cookie呢、js *** 作cookie 添加,获取,删除,分别有什么参数,且各个参数代表什么。特别是添加cookie的时候。、如何用js实现跨域获取cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)