PostMessage — это новый API для коммуникации между источниками, введённый в html5, который позволяет взаимодействовать двунаправленно с главной страницей и любой страницей класса фреймворка или страницей, открытой через window.open. Общий процесс работы таков:
Метод postMessage(data,origin) принимает два параметра:
(1) данные: Данные, которые должны передаваться, в спецификации HTML5 указано, что параметр может быть любым базовым типом JavaScript или воспроизводимым объектом, но не все браузеры так делают, некоторые браузеры могут обрабатывать только строковые параметры, поэтому нам нужно использовать метод JSON.stringify() для сериализации параметров объекта при передаче параметров и обращаться к json2.js в нижней версии IE для достижения аналогичных эффектов.
(2) origin: параметр строки, указывающий источник целевого окна, протокол + хост + номер порта [+URL], URL будет игнорировать, поэтому его нельзя записать, этот параметр предназначен для соображений безопасности, метод postMessage() передаст сообщение только в указанное окно, конечно, если хотите, можно также установить параметр в "*", чтобы его можно было передать в любое окно, если вы хотите указать тот же источник, что и текущее окно, он устанавливается в "/";
Пишите и получайте сообщения сами
Код таков:
Родительское окно отправляет сообщение в дочернее окно, и дочернее окно получает это сообщение
Код таков:
Дочернее окно отправляет сообщение в родительское окно, и родительское окно получает это сообщение
Код таков:
Кроме того, к клиенту присоединяется простой режим слушателя/клиента для междоменной передачи сообщений по следующему адресу:Вход по гиперссылке виден.
(Конец)
|