当前位置: 代码迷 >> JavaScript >> JavaScript处置cookie
  详细解决方案

JavaScript处置cookie

热度:487   发布时间:2012-10-06 17:34:01.0
JavaScript处理cookie

如下使用了jQuery.cookie的插件:有三个参数来使用
jQuery.cookie = function(name, value, options) {
??? if (typeof value != 'undefined') { // name and value given, set cookie
??????? options = options || {};
??????? if (value === null) {
??????????? value = '';
??????????? options.expires = -1;
??????? }
??????? var expires = '';
??????? if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
??????????? var date;
??????????? if (typeof options.expires == 'number') {
??????????????? date = new Date();
??????????????? date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
??????????? } else {
??????????????? date = options.expires;
??????????? }
??????????? expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
??????? }
??????? // CAUTION: Needed to parenthesize options.path and options.domain
??????? // in the following expressions, otherwise they evaluate to undefined
??????? // in the packed version for some reason...
??????? var path = options.path ? '; path=' + (options.path) : '';
??????? var domain = options.domain ? '; domain=' + (options.domain) : '';
??????? var secure = options.secure ? '; secure' : '';
??????? document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
??? } else { // only name given, get cookie
??????? var cookieValue = null;
??????? if (document.cookie && document.cookie != '') {
??????????? var cookies = document.cookie.split(';');
??????????? for (var i = 0; i < cookies.length; i++) {
??????????????? var cookie = jQuery.trim(cookies[i]);
??????????????? // Does this cookie string begin with the name we want?
??????????????? if (cookie.substring(0, name.length + 1) == (name + '=')) {
??????????????????? cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
??????????????????? break;
??????????????? }
??????????? }
??????? }
??????? return cookieValue;
??? }
};
js是上面的三个值来设置cookies的,name? value? time
//如下是js直接去取Cookie的值.
if($.cookie("uu_upload_tip"+login_id)){
}else{
???checkUploaded();
}
//js设置Cookie的值
function uu_upload_setCookie(){
?$.cookie("uu_upload_tip"+login_id,1,{expires:24});
?$("#index_upload_tip").hide();
}?
?
?
顺带小山同学的杰作一份,同样是cookies的设置:
//设置cookies函数
function?setcookie?(?name?,?value?)
{
????var?Days?=?30?;
?????var?exp ??=?new?Date?();????
????exp?.?setTime?(?exp?.?getTime?()?+?Days?*?24?*?60?*?60?*?1000?);
???document?.?cookie?=?name?+?"="?+?escape?(?value?)?+?";expires="?+?exp?.?toGMTString?();
}
//取cookies函数 ?????
function?getcookie?(?name?)??
{
?????var?arr?=?document?.?cookie?.?match?(?new?RegExp?(?"(^| )"?+?name?+?"=([^;]*)(;|$)"?));
????if?(?arr?!=?null?)?return?unescape?(?arr?[?2?]);?return?null?;
}
//删除cookie
function?delcookie?()
{
var?name?=?"comparelist"?;
????var?exp?=?new?Date?();
???exp?.?setTime?(?exp?.?getTime?()?-?1?);
????var?cval?=?getcookie?(?name?);
????document?.?getElementById?(?"comparelist"?).?innerHTML?=?''?;
????if?(?cval?!=?null?)?document?.?cookie?=?name?+?"="?+?cval?+?";expires="?+?exp?.toGMTString?();
}
?
?

  相关解决方案