search
1.5 Прелоадер (индикатор загрузки)
SFLoaderPlugin предоставляет встроенный визуальный прелоадер, который отображается при начальной загрузке
компонентов и ассетов.
Это помогает избежать отображения неполной верстки и повысить восприятие скорости загрузки.
Назначение
- Показывает пользователю, что идёт загрузка интерфейса;
- Скрывает DOM до подключения нужных JS/CSS и шаблонов;
- Повышает UX при медленных соединениях.
Как работает
- При запуске плагина, если нет кэша — запускается прелоадер (
runPreloader()). - Устанавливается
document.body.style.opacity = '0'для сокрытия содержимого. - В
runPreloader()создаётся DOM-блок<div class="sf-loader">, содержащий SVG-анимацию и текст. - После завершения загрузки ассетов — вызывается
stopPreloader(), и прелоадер исчезает,body.style.opacity = '1'.
Настройка прелоадера
new SFLoaderPlugin({
preloader: {
// ширина
width: 66,
// высота
height: 100,
// цвет svg картинки
color: "#E81123"
},
});
Методы
runPreloader()— показывает и запускает прелоадер;rotatePreloader()— запускает SVG-анимацию;stopAnimation()— останавливает таймер анимации;stopPreloader()— скрывает прелоадер, возвращаетbody.style.opacity = 1.
Условия отображения
- Показывается, если нет кэша (
SF_PLUGIN_LIST-<pageHash>не найден); - Используется только при первом запуске (
this.firstLoad === true); - Прелоадер можно отключить:
preloader: false.
Прелоадер НЕ отображается, если
- Все ассеты уже загружены и кэшированы;
- Задан
preloader: falseилиusePreloader = false; - Компоненты встроены вручную (например, при SSR/SPA сборке).