|
12345678910111213141516171819202122232425262728293031323334353637 |
-
- задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) =>
- {
- 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 = задатьПараметрВСтрокеПоиска;
-
|