update
All checks were successful
Deploy Static Site / deploy (push) Successful in 13m14s

This commit is contained in:
2025-05-28 09:38:46 +04:00
parent 7b63558dc6
commit 0449f954d8
6 changed files with 576 additions and 60 deletions

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});

View File

@ -495,7 +495,7 @@ $(document).ready(function () {
// prepareContent();
// });
// });
console.log("тюк");
function onUrlChange(callback) {
const originalPushState = history.pushState;
const originalReplaceState = history.replaceState;
@ -625,11 +625,77 @@ $(document).ready(function () {
prepareContent();
});
} else {
// const _target = evt.target;
// const _targetUl = _target.parentElement.nextElementSibling;
// if (
// _target.nodeName === "SPAN" &&
// _targetUl.nodeName === "UL" &&
// _targetUl.classList.contains("hide-side-menu-item")
// ) {
// _targetUl.querySelectorAll("a")[0].click();
// } else {
// const _ul =
// _target.parentElement.querySelectorAll("a")[0]
// .nextElementSibling;
// if (_ul.nodeName === "UL") {
// _ul.querySelectorAll("a")[0].click();
// }
// }
//is fake
// function isFakeLink(link) {
// if (!link) return false;
// const href = link.getAttribute("href");
// return href === "#" || href === "javascript:void(0);";
// }
// function isRealLink(link) {
// return !!link && !isFakeLink(link);
// }
// function findFirstLinkInElement(element) {
// if (!element) return null;
// return element.querySelector("a");
// }
// function findFirstRealNestedLink(element) {
// if (!element) return null;
// const links = element.querySelectorAll("a");
// for (const link of links) {
// if (isRealLink(link)) return link;
// }
// return null;
// }
// document.addEventListener("click", (evt) => {
// const _target = evt.target;
// if (_target.nodeName !== "SPAN") return;
// const _targetLi = _target.closest("li");
// if (!_targetLi) return;
// const submenu = _targetLi.querySelector("ul");
// const firstLink = findFirstLinkInElement(_targetLi);
// // заглушки
// if (firstLink && isFakeLink(firstLink)) {
// const nestedReal = findFirstRealNestedLink(submenu);
// if (nestedReal) {
// nestedReal.click();
// // в первом фрагменте, после nestedReal.click();
// setTimeout(() => {
// document.dispatchEvent(new Event("subcategory:update"));
// }, 50);
// }
// }
// // Поведение для настоящих ссылок
// else if (firstLink && isRealLink(firstLink)) {
// firstLink.click(); // кликаем по нормальной ссылке
// }
// });
//TEST
//TODO левый ток
function isFakeLink(link) {
if (!link) return false;
const href = link.getAttribute("href");
return href === "#" || href === "javascript:void(0);";
return (
href === "#" ||
href === "javascript:void(0)" ||
href === "javascript:void(0);"
);
}
function isRealLink(link) {
@ -652,7 +718,8 @@ $(document).ready(function () {
document.addEventListener("click", (evt) => {
const _target = evt.target;
if (_target.nodeName !== "SPAN") return;
// Расширяем обработку кликов для разных элементов
if (!_target.matches("span, a, li")) return;
const _targetLi = _target.closest("li");
if (!_targetLi) return;
@ -660,24 +727,43 @@ $(document).ready(function () {
const submenu = _targetLi.querySelector("ul");
const firstLink = findFirstLinkInElement(_targetLi);
// заглушки
// Обработка фейковых ссылок
if (firstLink && isFakeLink(firstLink)) {
evt.preventDefault(); // Добавляем preventDefault
const nestedReal = findFirstRealNestedLink(submenu);
if (nestedReal) {
nestedReal.click();
// в первом фрагменте, после nestedReal.click();
// Добавляем проверку перед кликом
if (
nestedReal.href &&
!nestedReal.href.includes("javascript:")
) {
nestedReal.click();
}
setTimeout(() => {
document.dispatchEvent(new Event("subcategory:update"));
}, 50);
}
return;
}
// Поведение для настоящих ссылок
else if (firstLink && isRealLink(firstLink)) {
firstLink.click(); // кликаем по нормальной ссылке
// Обработка реальных ссылок
if (firstLink && isRealLink(firstLink)) {
// Добавляем обработку для якорных ссылок
if (firstLink.hash) {
evt.preventDefault();
const targetElement = document.querySelector(firstLink.hash);
if (targetElement) {
targetElement.scrollIntoView({ behavior: "smooth" });
}
return;
}
// Оставляем стандартное поведение для обычных ссылок
return;
}
});
//TEST
}
}
});