search
1.8 Очистка и контроль кэша
Назначение
SFLoaderPlugin использует кэш для ускорения повторной загрузки ассетов и шаблонов. Однако в ряде случаев требуется * очистить или сбросить кэш*, особенно:
- при обновлении шаблонов компонентов;
- при переходе на другую версию сборки;
- в режиме разработки.
Кэшируемые данные
SFLoaderPlugin сохраняет в localStorage:
SF_PLUGIN_LIST-<pageHash>— список уже загруженных плагинов;SF_SMART_LIST-<pageHash>— данные и шаблоны Smart-компонентов;SF_SMART_GZIP— все данные и шаблоны, сжатые черезcompressToUTF16;SF_MISSING_PLUGINS— список файлов плагинов, которые не удалось загрузить.
Дополнительно могут использоваться document.cookie для временных данных, если включена соответствующая поддержка (
CacheManager.setCookie).
Как выполняется очистка
Очистка может быть выполнена несколькими способами:
1. Через URL-параметр
Добавление к URL параметра loader_clear=Y запускает полную очистку кэша на клиенте:
https://site.com/page?loader_clear=Y
Этот флаг проверяется при инициализации, и если он есть, вызывается SF.Loader.clearCache()
2. Программно
Можно вызвать метод вручную в консоли или коде:
SF.Loader.clearCache()
3. Через DevTools
- Перейти в Application → Local Storage → удалить ключи
SF_PLUGIN_LIST-*,SF_SMART_LIST-*,SF_SMART_GZIP,SF_MISSING_PLUGINS. - Также можно очистить cookies при необходимости.
Что делает SF.Loader.clearCache()
Метод выполняет:
- Удаление всех ключей
SF_PLUGIN_LIST-*иSF_SMART_LIST-*из localStorage; - Удаление
SF_SMART_GZIP; - Очистку
SF_MISSING_PLUGINS; - Опционально сброс кеша шаблонов (если включён
CacheManager);
Особенности
- Очистка кэша не влияет на статически встроенные компоненты.
- После очистки компоненты будут загружены заново при следующем визите.
- Очистка влияет только на текущий домен.