HTML5 за 10 минут

Представление о прикладном программном интерфейсе обмена сообщениями


Механизм внутреннего обмена сообщениями реализуется средствами такого языка, как JavaScript. Неплохое введение в обмен сообщениями можно найти по адресу www.whatwg.org/specs/
web-apps/current-work/multipage/comms.html.

Ниже перечислены программные средства, используемые в сценариях для организации обмена сообщениями.

•    Функция postMessage ()

•    Событие onMessage

•    Атрибут event.data

•    Атрибут event.origin

•    Атрибут event. source

Рассмотрим их по порядку и более подробно.

Функция postMessage()

Поддерживающие браузеры: Opera, Safari

Эта функция служит в качестве основного средства для отправки сообщений в HTML5 по месту назначения: window.postMessage(message, targetOrigin)

где аргумент message обозначает отправляемое сообщение, тогда как аргумент targetOrigin — место его назначения. О местах назначения сообщений речь пойдет более подробно ниже, когда дело дойдет до их отправки. Место назначения особым образом определяет адресат сообщения, подобно URL. Если отправить сообщение не по месту назначения, указываемому во втором аргументе функции postMessage(), это сообщение будет отвергнуто. Для указания любого места назначения достаточно передать данной функции значение в качестве второго ее аргумента.

Событие onMessage

Поддерживающие браузеры: Opera, Safari

Это событие наступает при получении сообщения. С ним связывается функция его обработки с целью восстановить конкретное отправленное сообщение в результате анализа члена данных событийного объекта.

Атрибут event.data

Поддерживающие браузеры: Opera, Safari

Событийный объект, передаваемый обработчику события onMessage, содержит все необходимые сведения о сообщении, тогда как атрибут event.data — текст сообщения.

Атрибут event.origin

Поддерживающие браузеры: Opera, Safari

Этот атрибут содержит место назначения отправленного сообщения.

Атрибут event.source

Поддерживающие браузеры: Opera, Safari Этот атрибут содержит объект WindowProxy исходного окна.

А теперь применим все эти программные средства на практике, начиная с примера межоконного обмена сообщениями между страницами parent.html и child.html.

Комментарии закрыты