history.replaceState = ( function( nativeReplaceState ) {
            return function historyReplaceState( data, title, url ) {
                currentHistoryState = data;
                return nativeReplaceState.call( history, data, title, 'string' === typeof url && url.length > 0 ? injectUrlWithState( url ) : url );
            };