code: function storageInitialize() {
      var sessionStorage;
      /**
       * sessionStorage throws error when cookies are disabled
       * Chrome content settings when running the site in a Facebook IFrame.
       * see: https://github.com/devote/HTML5-History-API/issues/34
       * and: http://stackoverflow.com/a/12976988/669360
       */
      try {
        sessionStorage = global['sessionStorage'];
        sessionStorage.setItem(sessionStorageKey + 't', '1');
        sessionStorage.removeItem(sessionStorageKey + 't');
      } catch(_e_) {
        sessionStorage = {
          getItem: function(key) {
            var cookie = document.cookie.split(key + "=");
            return cookie.length > 1 && cookie.pop().split(";").shift() || 'null';
          },
          setItem: function(key, value) {
            var state = {};
            // insert one current element to cookie
            if (state[windowLocation.href] = historyObject.state) {
              document.cookie = key + '=' + JSON.stringify(state);
            }
          }
        }
      }
  
      try {
        // get cache from the storage in browser
        stateStorage = JSON.parse(sessionStorage.getItem(sessionStorageKey)) || {};
      } catch(_e_) {
        stateStorage = {};
      }
  
      // hang up the event handler to event unload page
      addEvent(eventNamePrefix + 'unload', function() {
        // save current state's object
        sessionStorage.setItem(sessionStorageKey, JSON.stringify(stateStorage));
      }, false);
    }
docs: Initializing storage for the custom state's object