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