code: function(e) {
  		// console.log("history popState : ", e);
  		var stateData = e.state, history = window.history;
  		if (history.forceState)
  			history.state = stateData || null;
  
  		if (skipInitPop) {	// safari popstate at init skipped.
  			skipInitPop = false;
  			e.stopImmediatePropagation();
  			return false;
  		}
  		skipHashChange = false;
  		var tmp = history.location,	// old
  			current = history.location = removeBasePath(parseURL(location.href)), // new
  			state;
  
  		if(history.config.hid && stateData && stateData.hid)	// try to get state from hid
  			state = history.store.find(stateData.hid);
  		
  		if(state)
  		{
  			// check url equality.
  			if(current.relative !== state.url)
  				throw new Error("bad state from native popstate (url dont match) "+current.relative+" - "+state.url);
  			if(state.title) // force title
  				document.title = state.title;
  		}
  		if (!tmp || tmp.path !== current.path) // relative has change : apply pop state
  		{
  			if (tmp && tmp.hash !== current.hash)
  				skipHashChange = true;
  			return true;
  		} 
  		else // path doesn't change. check hash
  		if (tmp.hash !== current.hash && history.config.hashChangeAlone)
  		{
  			e.stopImmediatePropagation();
  			return false; // skip popstate if config.hashChangeAlone
  		}
  		return true; // nothing change : refresh
  	}
docs: Native Only