// Force unblock - агрессивная очистка блокирующих элементов (function() { 'use strict'; function forceUnblock() { console.log('ForceUnblock: Starting cleanup...'); // Удаляем loading screen const loadingScreen = document.getElementById('loading-screen'); if (loadingScreen) { loadingScreen.remove(); console.log('ForceUnblock: Loading screen removed'); } // Убираем modal-open с body document.body.classList.remove('modal-open'); document.body.style.overflow = ''; document.body.style.paddingRight = ''; console.log('ForceUnblock: Body cleaned'); // Закрываем все модальные окна document.querySelectorAll('.modal').forEach(modal => { modal.classList.remove('show'); modal.style.display = 'none'; modal.setAttribute('aria-hidden', 'true'); modal.removeAttribute('aria-modal'); }); console.log('ForceUnblock: Modals closed'); // Удаляем все backdrop элементы document.querySelectorAll('.modal-backdrop').forEach(backdrop => { backdrop.remove(); }); console.log('ForceUnblock: Backdrops removed'); // Убираем pointer-events: none с всех элементов кроме скрытых модалов document.querySelectorAll('[style*="pointer-events"]').forEach(el => { if (!el.classList.contains('modal') || !el.classList.contains('show')) { el.style.pointerEvents = ''; } }); console.log('ForceUnblock: Pointer events cleaned'); // Проверяем, что body кликабельно document.body.style.pointerEvents = 'auto'; console.log('ForceUnblock: Cleanup complete!'); } // Выполняем сразу if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', forceUnblock); } else { forceUnblock(); } // И еще раз через небольшую задержку для надежности setTimeout(forceUnblock, 100); setTimeout(forceUnblock, 500); })();