Главная страница » Блог » Что делать, если оглавление не обновляется при динамической загрузке контента?

Что делать, если оглавление не обновляется при динамической загрузке контента?

Что делать, если оглавление не обновляется при динамической загрузке контента? Причина в том, что стандартный скрипт строит список заголовков один раз при открытии страницы и не видит новые блоки, подгруженные через AJAX. Нужно переинициализировать оглавление в колбэке после загрузки данных или назначить MutationObserver, который перестраивает список при появлении новых заголовков h2–h3 в контейнере.

Проще всего вызвать функцию построения оглавления повторно сразу после вставки контента, а перед этим очистить старые пункты, иначе появятся дубли. Обязательно проверьте, что якорные ссылки пересчитываются на уже существующие id заголовков. Если наблюдатель следит за всем документом, а не за конкретным контейнером, это создаст лишнюю нагрузку: ограничьте область наблюдения. Также учитывайте, что элементы, скрытые через display: none, не будут корректно попадать в якорные переходы.

Внимание:
Условия: Внедрение системы — от 50 000 ₽/мес. Если бюджет подходит — посмотреть тарифы →
Прокрутить вверх