Вход Регистрация
Файл: public_html/js/jquery.session.js
Строк: 112
<?php
(function($){

    $.
session = {

        
_idnull,

        
_cookieCacheundefined,

        
_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(keythis._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(keyvalueonceOnly)
        {
            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() + '=; 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(keyvalueonceOnly)
        {
            try {
                
window.sessionStorage.setItem(keyvalue);
            } catch (
e) {}
            
this._setFallback(keyvalueonceOnly || 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);
?>
Онлайн: 2
Реклама