задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) => { var строкаПоиска = decodeURI(window.location.search); var текущийАдрес = decodeURI(window.location.href); // Заменить параметр. if (строкаПоиска.includes(`${ключПараметра}=`)) { var части = строкаПоиска.split(/[\?&]/); for (var номер in части) { var часть = части[номер]; if (часть.startsWith(`${ключПараметра}=`)) { var значение = часть.split("=")[1]; var адрес = текущийАдрес.replace(значение, значениеПараметра); history.pushState(null, "", адрес); break; } } } // Добавить параметр. else { var префикс = "?"; if (строкаПоиска.startsWith("?")) { префикс = "&"; } var адрес = текущийАдрес + префикс + `${ключПараметра}=` + значениеПараметра; history.pushState(null, "", адрес); } }; setSearchQueryParameter = задатьПараметрВСтрокеПоиска;