⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 session.js

📁 Browser independent JavaScript SDK. ClassLoader to lazy load JavaScript classes, extensions to core
💻 JS
字号:
/* * JavaScript Software Development Kit - what JavaScript should be and can be - js-sdk.sourceforge.net * Copyright (C) 2006-2007 Mathew Sheets * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL") *    http://www.gnu.org/licenses/lgpl.html * * == END LICENSE == */package jsx.util.session;import jsx.collections.ArrayList;import jsx.collections.HashMap;class Session{	/**	* @fileOverview	* @example	*/	/**	* @class Session	* @description API over the cookies object	* @constructor	* @param {String} _id	* @param {Number} _hours	* @param {String} _path	* @param {String} _domain	* @param {String} _secure	*/	Session(_id, _hours, _path, _domain, _secure)	{	// 1 character =  1 byte	// id, cache[name]=value, host, path, times = 4096 bytes;/*4000 bytes for id and cookie values---id+1 / cookies values{name+1/value+1}----test-1231231:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&2:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&3:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&4:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&5:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&6:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&7:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&8:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&9:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&10:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&11:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&12:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&13:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&14:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&15:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&16:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&17:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&18:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&19:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf&20:asdfasdfadsf asdfasdf asdfasdf asdfasdfasd asdfasdfa asdfasdfasdf asdfasdfasd fasdfasdfasd fasdfasdf------------host / path----~~local~~/C:\projects\java\name2name\name2name-2.0\n2nWeb\WebContent\------------45-----10885089105922980962327796942429809556----------*/		this.id = _id;		this.expiration;		if(_hours)		{			this.expiration = new Date((new Date()).getTime() + _hours*3600000);		}		this.path = _path;		this.domain = _domain;		this.secure = _secure;		this.created;		this.lastChecked;		this.lastModified;		this.lastAccessed;		// cache facade for document.cookie		this.cache = new HashMap();		// populate the cache with the cookies	    var allcookies = document.cookie;		this.resetSession = function()		{			var cookieval = "";			this.cache.entrySet().each(function(_entry)			{				if (cookieval != "") cookieval += '&';				cookieval += _entry.key + ':' + String(_entry.value).escapeHTML();			});			var cookie = this.id + '=' + cookieval;			if (this.expiration) cookie += '; expires=' + this.expiration.toGMTString();			if (this.path) cookie += '; path=' + this.path;			if (this.domain) cookie += '; domain=' + this.domain;			if (this.secure) cookie += '; secure';			document.cookie = cookie;			this.lastModified = new Date();		};		var tmpDate = new Date();	    if (!allcookies)	    {			this.created = tmpDate;		    return;	    }	    else	    {			this.lastChecked = tmpDate;			this.lastModified = tmpDate;			this.lastAccessed = tmpDate;	    }	    var start = allcookies.indexOf(this.id + '=');		if(start > -1)		{			start += this.id.length + 1;			var end = allcookies.indexOf(';', start);			if (end == -1) end = allcookies.length;			var cookieval = allcookies.substring(start, end);			var ary = cookieval.split('&');			for(var i=0; i < ary.length; i++)			{				ary[i] = ary[i].split(':');			}			for(var i=0;i<ary.length;i++)			{				this.cache.put(ary[i][0], String(ary[i][1]).unescapeHTML());			}		}	}	instance getAttribute(_name)	{		this.lastAccessed = new Date();		return this.cache.get(_name);	}	instance setAttribute(_name, _value)	{		this.cache.put(_name, _value);		this.resetSession();	}	instance removeAttribute(_name)	{		this.cache.remove(_name);		this.resetSession();	}	instance getAttributeNames()	{		this.lastAccessed = new Date();		var names = new ArrayList();		this.cache.entrySet().each(function(_entry)	    {			names.add(_entry.key);	    });		return names;	}	instance invalidate()	{	    var cookie = this.id + '=';	    if (this.path) cookie += '; path=' + this.path;	    if (this.domain) cookie += '; domain=' + this.domain;	    cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';	    document.cookie = cookie;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -