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