如何用js来 *** 作cookie呢

如何用js来 *** 作cookie呢,第1张

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9550619.html

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

发表评论

登录后才能评论

评论列表(0条)

保存