# Общение окон с разных доменов: postMessage Интерфейс `postMessage` позволяет общаться друг с другом окнам и ифреймам с разных доменов. Он очень удобен, например, для взаимодействия внешних виджетов и сервисов, подключённых через ифрейм с основной страницей. [cut] ## Отправитель: метод postMessage Первая часть интерфейса состоит из метода [postMessage](https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage). Его вызывает окно, которое хочет отправить сообщение, в контексте окна-получателя. Проще говоря, если мы хотим отправить сообщение в окно `win`, то нужно вызвать `win.postMessage(data, targetOrigin)`. Аргументы:
data
Данные. По спецификации, это может быть любой объект, который будет *клонирован с сохранением структуры* при передаче. Но IE поддерживает только строки, поэтому обычно данные JSON-сериализуют.
targetOrigin
Разрешить получение сообщения только окнам с данного источника. Мы ведь не можем из JavaScript узнать, на каком именно URL находится другое окно. Но иногда хочется быть уверенным, что данные передаются в доверенный документ. Для этого и нужен этот параметр. Проверку осуществляет браузер. При указании `'*'` ограничений нет.
Например: ```html