<!-- Своя ссылка для кнопки «Добавить в корзину» (BUY NOW) в карточке товара (попап) | https://necodim.ru/tilda/change-product-popup-button --> <script> document.querySelectorAll('#rec123456789 .js-store-grid-cont').forEach(store => {
store.addEventListener('tStoreRendered', () => {
const btnLink = 'https://necodim.ru/';
const popupBtnWrapper = document.querySelector('.t-store__prod-popup__btn-wrapper');
const popupBtn = popupBtnWrapper.querySelector('.t-store__prod-popup__btn');
popupBtn.classList.remove('t-store__prod-popup__btn_disabled');
popupBtn.setAttribute('href', btnLink);
});
}); </script> <!-- Своя ссылка для кнопки «Добавить в корзину» (BUY NOW) на странице товара | https://necodim.ru/tilda/change-product-popup-button --> <script>
t_onReady(() => {
const btnLink = 'https://necodim.ru/';
function waitForElement(selectors, ttl = 30000) {
return new Promise((resolve, reject) => {
const find = () => {
for (const sel of selectors) {
const el = document.querySelector(sel);
if (el) return el;
}
return null;
};
const existing = find();
if (existing) {
resolve(existing);
return;
}
let timeoutId;
const observer = new MutationObserver(() => {
const el = find();
if (el) {
clearTimeout(timeoutId);
observer.disconnect();
resolve(el);
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
timeoutId = setTimeout(() => {
observer.disconnect();
reject(new Error('Элемент не появился за отведённое время (TTL)'));
}, ttl);
});
}
const wrapperSelectors = [
'#rec123456789 .t-store__prod-popup__btn-wrapper',
'.t-store__prod-snippet__container .t-store__prod-popup__btn-wrapper',
'#rec123456789 .t-catalog__prod-popup__btn-wrapper',
];
waitForElement(wrapperSelectors, 30000)
.then((popupBtnWrapper) => {
const popupBtn =
popupBtnWrapper.querySelector('.t-store__prod-popup__btn') ||
popupBtnWrapper.querySelector('.t-catalog__prod-popup__btn') ||
popupBtnWrapper.querySelector('[href="#order"]');
if (!popupBtn) {
console.warn('Wrapper найден, но кнопка внутри отсутствует');
return;
}
popupBtn.classList.remove(
't-store__prod-popup__btn_disabled',
't-catalog__prod-popup__btn_disabled'
);
popupBtn.setAttribute('href', btnLink);
})
.catch((err) => {
console.warn('[Necodim]', err.message);
});
});
</script>