Основной модуль главреда, его каркас | Main module of Glavred, its skeleton
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.6KB

  1. задатьВид = (css) =>
  2. {
  3. var вид = document.createElement("style");
  4. вид.innerHTML = css;
  5. document.head.appendChild(вид);
  6. };
  7. setStyle = задатьВид;
  8. // // // //
  9. задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) =>
  10. {
  11. var строкаПоиска = decodeURI(window.location.search);
  12. var текущийАдрес = decodeURI(window.location.href);
  13. // Заменить параметр.
  14. if (строкаПоиска.includes(`${ключПараметра}=`))
  15. {
  16. var части = строкаПоиска.split(/[\?&]/);
  17. for (var номер in части)
  18. {
  19. var часть = части[номер];
  20. if (часть.startsWith(`${ключПараметра}=`))
  21. {
  22. var значение = часть.split("=")[1];
  23. var адрес = текущийАдрес.replace(значение, значениеПараметра);
  24. history.pushState(null, "", адрес);
  25. break;
  26. }
  27. }
  28. }
  29. // Добавить параметр.
  30. else
  31. {
  32. var префикс = "?";
  33. if (строкаПоиска.startsWith("?"))
  34. {
  35. префикс = "&";
  36. }
  37. var адрес = текущийАдрес + префикс + `${ключПараметра}=` + значениеПараметра;
  38. history.pushState(null, "", адрес);
  39. }
  40. };
  41. setSearchQueryParameter = задатьПараметрВСтрокеПоиска;