Встречается на собеседованиях • сегодня
Как сделать локальное сообщение через Service Worker
Для отправки локального сообщения через Service Worker используйте postMessage. Пример:
- В основном скрипте:
javascript
navigator.serviceWorker.controller.postMessage({
type: 'LOCAL_MSG',
data: 'Hello from main thread'
});- В Service Worker (sw.js):
javascript
self.addEventListener('message', (event) => {
if (event.data.type === 'LOCAL_MSG') {
console.log('Received:', event.data.data);
// Можно отправить ответ обратно
event.source.postMessage({
response: 'Message received!'
});
}
});- Для получения ответа в основном скрипте:
javascript
navigator.serviceWorker.addEventListener('message', (event) => {
console.log('Response from SW:', event.data.response);
});Важно: Service Worker должен быть активен (navigator.serviceWorker.controller должен существовать). Для двусторонней связи можно использовать MessageChannel для более сложных сценариев.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы