1.8 Очистка и контроль кэшаlink

Назначениеlink

SFLoaderPlugin использует кэш для ускорения повторной загрузки ассетов и шаблонов. Однако в ряде случаев требуется * очистить или сбросить кэш*, особенно:

  • при обновлении шаблонов компонентов;
  • при переходе на другую версию сборки;
  • в режиме разработки.

Кэшируемые данныеlink

SFLoaderPlugin сохраняет в localStorage:

  • SF_PLUGIN_LIST-<pageHash> — список уже загруженных плагинов;
  • SF_SMART_LIST-<pageHash> — данные и шаблоны Smart-компонентов;
  • SF_SMART_GZIP — все данные и шаблоны, сжатые через compressToUTF16;
  • SF_MISSING_PLUGINS — список файлов плагинов, которые не удалось загрузить.

Дополнительно могут использоваться document.cookie для временных данных, если включена соответствующая поддержка ( CacheManager.setCookie).

Как выполняется очисткаlink

Очистка может быть выполнена несколькими способами:

1. Через URL-параметрlink

Добавление к URL параметра loader_clear=Y запускает полную очистку кэша на клиенте:

https://site.com/page?loader_clear=Y

Этот флаг проверяется при инициализации, и если он есть, вызывается SF.Loader.clearCache()

2. Программноlink

Можно вызвать метод вручную в консоли или коде:

SF.Loader.clearCache()

3. Через DevToolslink

  • Перейти в Application → Local Storage → удалить ключи SF_PLUGIN_LIST-*, SF_SMART_LIST-*, SF_SMART_GZIP, SF_MISSING_PLUGINS.
  • Также можно очистить cookies при необходимости.

Что делает SF.Loader.clearCache()link

Метод выполняет:

  • Удаление всех ключей SF_PLUGIN_LIST-* и SF_SMART_LIST-* из localStorage;
  • Удаление SF_SMART_GZIP;
  • Очистку SF_MISSING_PLUGINS;
  • Опционально сброс кеша шаблонов (если включён CacheManager);

Особенностиlink

  • Очистка кэша не влияет на статически встроенные компоненты.
  • После очистки компоненты будут загружены заново при следующем визите.
  • Очистка влияет только на текущий домен.