Я использовал объекты истории replaceState (), чтобы заменить часть местоположения urlParameter.Эта функция доступна в большинстве новых браузеров.
/**
* Add url parameters to your current location without changing page
* @param { object } urlParams, a hash containing key value pairs
*/
function addUrlParams(urlParams){
var oldState = history.state;
var oldTitle= document.title;
var oldParams= `${window.location.hash}${location.search}`; // Keep the old params
var newParams='';
var paramKeys = Object.keys(urlParams);
var paramValues = Object.values(urlParams)
for(var i=0;i < paramKeys.length;i++){
newParams += `&${paramKeys[i]}=${paramValues[i]}`; // Add each param from the hash
}
history.replaceState(oldState,oldTitle,oldParams+newParams)
}
Надеюсь, вы найдете ее полезной.