Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function(){
  2.     var collected = {}, storage = {};
  3.  
  4.     var get = function(uid){
  5.         return (storage[uid] || (storage[uid] = {}));
  6.     };
  7.  
  8.     var purge = function(){
  9.         Hash.each(collected, clean);
  10.         if (Browser.ie) Array.from(document.getElementsByTagName('object')).each(clean);
  11.         if (window.CollectGarbage) CollectGarbage();
  12.         collected = storage = null;
  13.     };
  14.  
  15.     [Element, Window, Document].invoke('implement', {
  16.         retrieve: function(property, dflt){
  17.             var storage = get(this.uid), prop = storage[property];
  18.             if (dflt != undefined && prop == undefined) prop = storage[property] = dflt;
  19.             return prop != null ? prop : null;
  20.         },
  21.         store: function(property, value){
  22.             var storage = get(this.uid);
  23.             storage[property] = value;
  24.             return this;
  25.         },
  26.         eliminate: function(property){
  27.             var storage = get(this.uid);
  28.             delete storage[property];
  29.             return this;
  30.         }
  31.     });
  32.  
  33.     window.addListener('unload', purge);
  34. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement