52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
|
|
|
|
задатьВид = (css) =>
|
|
{
|
|
var вид = document.createElement("style");
|
|
вид.innerHTML = css;
|
|
document.head.appendChild(вид);
|
|
};
|
|
|
|
setStyle = задатьВид;
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) =>
|
|
{
|
|
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 = задатьПараметрВСтрокеПоиска;
|
|
|