jquery操作session的方法

本文介绍了一个 jQuery 插件——jquery.session.js 的使用方法,包括如何添加、删除、获取及清除客户端会话数据。该插件不依赖服务器端的 session,而是通过浏览器的 sessionStorage 和 cookie 实现数据存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jquery.session.js使用

 //此方法在java中不能使用

// jquery.session.js 简单使用方法

添加数据
    $.session.set('key', 'value')

删除数据
    $.session.remove('key');

获取数据
    $.session.get('key');

清除数据
    $.session.clear();

以下为jquery文件代码:新建复制即可使用

/*
* *说明:不可以获取java的session
* 语法:
添加数据
$.session.set('key', 'value')

删除数据
$.session.remove('key');

获取数据
$.session.get('key');

清除数据
$.session.clear();
*/

(function($){

$.session = {

_id: null,

_cookieCache: undefined,

_init: function()
{
if (!window.name) {
window.name = Math.random();
}
this._id = window.name;
this._initCache();

// See if we've changed protcols

var matches = (new RegExp(this._generatePrefix() + "=([^;]+);")).exec(document.cookie);
if (matches && document.location.protocol !== matches[1]) {
this._clearSession();
for (var key in this._cookieCache) {
try {
window.sessionStorage.setItem(key, this._cookieCache[key]);
} catch (e) {};
}
}

document.cookie = this._generatePrefix() + "=" + document.location.protocol + ';path=/;expires=' + (new Date((new Date).getTime() + 120000)).toUTCString();

},

_generatePrefix: function()
{
return '__session:' + this._id + ':';
},

_initCache: function()
{
var cookies = document.cookie.split(';');
this._cookieCache = {};
for (var i in cookies) {
var kv = cookies[i].split('=');
if ((new RegExp(this._generatePrefix() + '.+')).test(kv[0]) && kv[1]) {
this._cookieCache[kv[0].split(':', 3)[2]] = kv[1];
}
}
},

_setFallback: function(key, value, onceOnly)
{
var cookie = this._generatePrefix() + key + "=" + value + "; path=/";
if (onceOnly) {
cookie += "; expires=" + (new Date(Date.now() + 120000)).toUTCString();
}
document.cookie = cookie;
this._cookieCache[key] = value;
return this;
},

_getFallback: function(key)
{
if (!this._cookieCache) {
this._initCache();
}
return this._cookieCache[key];
},

_clearFallback: function()
{
for (var i in this._cookieCache) {
document.cookie = this._generatePrefix() + i + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
this._cookieCache = {};
},

_deleteFallback: function(key)
{
document.cookie = this._generatePrefix() + key + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
delete this._cookieCache[key];
},

get: function(key)
{
return window.sessionStorage.getItem(key) || this._getFallback(key);
},

set: function(key, value, onceOnly)
{
try {
window.sessionStorage.setItem(key, value);
} catch (e) {}
this._setFallback(key, value, onceOnly || false);
return this;
},

'delete': function(key){
return this.remove(key);
},

remove: function(key)
{
try {
window.sessionStorage.removeItem(key);
} catch (e) {};
this._deleteFallback(key);
return this;
},

_clearSession: function()
{
try {
window.sessionStorage.clear();
} catch (e) {
for (var i in window.sessionStorage) {
window.sessionStorage.removeItem(i);
}
}
},

clear: function()
{
this._clearSession();
this._clearFallback();
return this;
}

};

$.session._init();

})(jQuery);

 

 

转载于:https://www.cnblogs.com/ki5s/p/5366858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值