Встречается на собеседованиях • сегодня

Как сделать чтобы приложение работало в offline

Для работы приложения в offline можно использовать Service Workers и Cache API. Вот базовый пример:

javascript
// Регистрируем Service Worker
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js')
    .then(registration => console.log('SW registered'))
    .catch(err => console.log('SW registration failed'));
}

В файле sw.js:

javascript
const CACHE_NAME = 'my-app-cache-v1';
const urlsToCache = [
  '/',
  '/styles.css',
  '/app.js',
  '/fallback.html'
];

self.addEventListener('install', event => {
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(cache => cache.addAll(urlsToCache))
});

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(response => response || fetch(event.request))
      .catch(() => caches.match('/fallback.html'))
  );
});

Дополнительно можно использовать:

  • IndexedDB для хранения данных
  • App Manifest для PWA-функциональности
  • Workbox для упрощения работы с кэшированием

Важно тестировать offline-режим в DevTools (Application > Service Workers + Offline checkbox).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы