Ответ
Да, можно управлять кэшированием через JavaScript, но с ограничениями.
- Service Workers — мощный инструмент для кэширования ресурсов.
// Регистрация Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
В файле sw.js можно кэшировать запросы с помощью Cache API.
- LocalStorage/SessionStorage — для кэширования данных.
localStorage.setItem('cachedData', JSON.stringify(data));
- HTTP-заголовки — JavaScript не может напрямую управлять
Cache-Control, но можно добавить уникальный параметр к URL, чтобы избежать кэширования:
fetch(`/api/data?timestamp=${Date.now()}`);
Важно: Полное управление кэшированием на стороне сервера (через HTTP-заголовки) эффективнее.