Штатный блок T228 показывает заставку фиксированное время: у кого-то страница уже загрузилась, а заставка ещё висит, у кого-то наоборот. Модификация ждёт не секундомер, а само содержимое.
Чего можно дождаться
- Полной загрузки страницы — картинок, шрифтов, встроенных видео.
- Товаров каталога — заставка держится, пока карточки не отрисованы.
- Zero-блоков — пока артборды не собраны.
- Стороннего виджета — по появлению элемента на странице или по событию, которое он отправляет: так ловится, например, Collabza.
Почему заставка не зависнет
- Жёсткий предел времени. Сколько бы ни грузилась страница, прелоадер уходит через заданный срок.
- Страховка на CSS. Если скрипт вообще не выполнится, заставка всё равно исчезнет к тому же сроку — это заложено в стилях.
- Страховка для страниц без JavaScript. Там заставка не показывается вовсе.
- Готовность проверяется по состоянию страницы, а не по событиям. Если Zero-блок отрисовался раньше, чем встал код, прелоадер это увидит, а не будет ждать событие, которое уже прошло.
Что ещё учтено
- Минимальное время показа, чтобы заставка не мигала на быстрых страницах.
- Прокрутка блокируется только пока заставка видна и разблокируется вместе с ней — в том числе по истечении срока.
- Возврат на страницу кнопкой «Назад» не показывает заставку заново.
- При печати страницы заставки нет, а при системной настройке «уменьшить движение» исчезание мгновенное.
- Анимацию можно взять готовую: вставьте HTML и CSS понравившегося лоадера, встроенный вариант — обычное кольцо.