(function() { const selector = '.t-store__card__mark'; const keyword = 'предзаказ'; const attr = 'data-status'; const value = 'predzakaz'; const mark = el => { if (!el.hasAttribute(attr) && el.textContent.trim().toLowerCase().includes(keyword)) { el.setAttribute(attr, value); } }; const scan = root => root.querySelectorAll(selector).forEach(mark); document.addEventListener('DOMContentLoaded', () => { // Первичный проход setTimeout(() => scan(document), 400); // Наблюдаем только за контейнерами карточек, чтобы не грузить весь DOM const root = document.querySelector('.t-store, .t-container, body'); if (!root) return; const observer = new MutationObserver(mutations => { for (const m of mutations) for (const n of m.addedNodes) if (n.nodeType === 1) scan(n); }); observer.observe(root, { childList: true, subtree: true }); setTimeout(() => observer.disconnect(), 20000); // авто-отключение через 20 сек }); })();