тест прокрутки — МАУ "Центр развития образования"

Сегодня

00:00:00

тест прокрутки

🔍 Что это означает:

1. Проблема не в самом скрипте, а в КОНТАКТЕ скрипта с определенными элементами

  • Скрипт работает, но конфликтует только с определенными виджетами/блоками
  • На «хороших» страницах нет элементов, которые вызывают конфликт.

2. Ошибка в консоли — это ПРЕДУПРЕЖДЕНИЕ, а не ошибка

text

[Intervention] Unable to preventDefault inside passive event listener
  • Это warning, не error
  • Скрипт продолжает работать, но браузер его «предупреждает»

3. Проблемные страницы имеют специфические элементы

Скорее всего на проблемных страницах есть:

  • Слайдеры/карусели
  • Галереи с горизонтальным скроллом
  • Интерактивные карты
  • Виджеты с собственным скроллом

🎯 Новая стратегия диагностики:

Шаг 1: Найдите общие элементы на проблемных страницах

  • Какие виджеты/блоки есть только на проблемных страницах?
  • Какие общие элементы на всех «кривых» страницах?

Шаг 2: Проверьте конкретные виджеты Elementor

На проблемных страницах:

  • Откройте в редакторе Elementor
  • По очереди отключайте каждый виджет (прямо в редакторе)
  • После каждого отключения проверяйте скролл на фронтенде

Шаг 3: Диагностика через консоль

Добавьте этот код в консоль на проблемной странице:

javascript

// Найти все элементы с обработчиками скролла
function findScrollHandlers() {
    const elements = document.querySelectorAll('*');
    const scrollElements = [];
    elements.forEach(el => {
        const handlers = getEventListeners(el);
        if (handlers.wheel || handlers.mousewheel || handlers.scroll) {
            scrollElements.push({
                element: el,
                tag: el.tagName,
                class: el.className,
                handlers: handlers
            });
        }
    });
    console.log('Elements with scroll handlers:', scrollElements);
    return scrollElements;
}
findScrollHandlers();

🎯 Самые вероятные виновники:

Виджеты Elementor которые часто вызывают проблемы:

  • elementor-gallery — галереи
  • elementor-carousel — карусели
  • elementor-image-carousel — карусели изображений
  • elementor-maps — карты
  • Любые виджеты с swiperslickowl-carousel

🔧 Точечное решение:

Добавьте в CSS специфичные фиксы:

css

/* Фикс для каруселей и слайдеров */
.elementor-carousel,
.elementor-image-carousel,
.swiper-container,
.slick-slider {
    touch-action: pan-y !important;
    overflow: visible !important;
}
/* Фикс для галерей */
.elementor-gallery {
    pointer-events: none !important;
}
.elementor-gallery * {
    pointer-events: auto !important;
}
/* Фикс для карт */
.elementor-custom-embed,
.elementor-widget-google_maps {
    overflow: visible !important;
}

💡 Практический план:

  1. Составьте список: какие страницы работают хорошо, а какие плохо
  2. Найдите общий элемент на всех проблемных страницах
  3. Отключите этот элемент на одной странице и проверьте
  4. Если скролл заработал — нашли виновника!