Web Messaging - он же Cross-Document Messaging (XDM), Cross-Domain Messaging(XDM), Cross-Window Messaging(XWM), это процесс, когда два окна браузера или фрейма общаются между собой через javascript, не отправляя никаких запросов на удаленные сервера, сообщения путешествуют по оперативной памяти локальной машины с поточным открытым браузером. Является частью HTML5.
XDM - это никак не XDR (который подразумевает обращение по аяксу из страницы на чужой сервер - не из которого данная страница ). К XDR относятся JSONP, CORS и flash-XDR
Вот пример javascript кода который обращается из документа, в который был вставлен фрейм с другого домена:
Вот пример кода, который должен находится в документе ифрейма:
Тут же можна заметить Security Policy - хорошая идея проверять пришло ли это сообщение с документа домена, которому мы доверяем, и правильного ли оно формата.
XDM - это никак не XDR (который подразумевает обращение по аяксу из страницы на чужой сервер - не из которого данная страница ). К XDR относятся JSONP, CORS и flash-XDR
Вот пример javascript кода который обращается из документа, в который был вставлен фрейм с другого домена:
var o = document.getElementsByTagName('iframe')[0];
o.contentWindow.postMessage('Hello B', 'http://documentB.com/');
Вот пример кода, который должен находится в документе ифрейма:
function receiver(event) {
if (event.origin == 'http://documentA.com') {
if (event.data == 'Hello B') {
event.source.postMessage('Hello A, how are you?', event.origin);
}
else {
alert(event.data);
}
}
}
window.addEventListener('message', receiver, false);
Тут же можна заметить Security Policy - хорошая идея проверять пришло ли это сообщение с документа домена, которому мы доверяем, и правильного ли оно формата.
Комментариев нет:
Отправить комментарий