PHP Classes

File: bootstrap/js/jquery.session.js

Recommend this page to a friend!
  Classes of Minh Tien   Noblesse CMS   bootstrap/js/jquery.session.js   Download  
File: bootstrap/js/jquery.session.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Noblesse CMS
Content management system with custom plugins
Author: By
Last change:
Date: 8 years ago
Size: 3,702 bytes
 

Contents

Class file image Download
(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);