- [/code][code] //SessionKey 与 Key 转换 -----------------------------------start
复制代码- [/code][code] //随机4位16进制字符串
复制代码- function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); }
复制代码- [/code][code] //全局唯一标识符GUID,类似.net中的NewID();
复制代码- function guid() { return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); }
复制代码- [/code][code] //创建SessionID
复制代码- function createSessionID() { return S4() + S4(); }
复制代码- function _getSessionID() {
复制代码- var SessionID = sessionStorage["SessionID"];
复制代码- SessionID = createSessionID();// guid();
复制代码- sessionStorage["SessionID"] = SessionID;
复制代码- [/code][code] function _getSessionKey(key) {
复制代码- return key + "_" + _getSessionID();
复制代码- [/code][code] function _getKey(SessionKey) {
复制代码- var _SessionKey = SessionKey + "",
复制代码- reg = new RegExp("_" + _getSessionID() + "$");
复制代码- return reg.test(_SessionKey) ? _SessionKey.replace(reg, "") : null;
复制代码- [/code][code] //SessionKey 与 Key 转换 -----------------------------------end
复制代码- function set(key, value) {
复制代码- sessionStorage[_getSessionKey(key)] = JSON.stringify({ "value": value });
复制代码- var _value = sessionStorage[_getSessionKey(key)];
复制代码- return _value ? (JSON.parse(_value)["value"] || null) : null;
复制代码- return sessionStorage[_getSessionKey(key)] ? true : false;
复制代码- sessionStorage.removeItem(_getSessionKey(key));
复制代码- for (var ind = 0; ind < sessionStorage.length; ind++) {
复制代码- var _key = sessionStorage.key(ind),
复制代码- sessionStorage.removeItem(_key);
复制代码- for (var ind = 0; ind < sessionStorage.length; ind++) {
复制代码- var _key = sessionStorage.key(ind),
复制代码- for (var ind = 0; ind < sessionStorage.length; ind++) {
复制代码- var _key = sessionStorage.key(ind),
复制代码- for (var ind = 0; ind < sessionStorage.length; ind++) {
复制代码- var _key = sessionStorage.key(ind),
复制代码- getSessionID: _getSessionID
复制代码![]()
源码地址:
https://github.com/penn6699/jsUtil/blob/master/Session.js
|
|