Встречается на собеседованиях • сегодня
Какой опыт работы с postMessage
postMessage — это метод для безопасного обмена данными между разными источниками (окнами, фреймами, воркерами) с проверкой origin.
Основные сценарии:
- Общение между окнами/фреймами:
javascript
// Отправитель (parent.html) iframe.contentWindow.postMessage('Hello!', 'https://child.com');
// Получатель (iframe)
window.addEventListener('message', (e) => {
if (e.origin === 'https://parent.com') {
console.log(e.data); // 'Hello!'
}
});
text
2. **Web Workers**:
```javascript
// Main thread
worker.postMessage({ action: 'calculate', data: 42 });
// Worker
self.onmessage = (e) => {
if (e.data.action === 'calculate') { ... }
};Безопасность: Всегда проверяйте e.origin и e.source во избежание XSS.
Ограничения:
- Не поддерживает сложные объекты (например, DOM-элементы).
- Требует явного указания целевого
origin('*'— небезопасно).
Использовал для:
- Встраивания виджетов с кросс-доменными данными.
- Оптимизации тяжелых вычислений через Web Workers.

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