Я пытаюсь передать данные из родительского домена в Iframe из другого домена.
Я прочитал, что могу использовать postMessage, чтобы избежать источника той же политики , но у меня все еще есть сообщение:
Failed to execute 'postMessage'... The target origin provided does not match the recipient window's origin
Я попытался передать данные из родительского домена в Iframe и из Iframe в родительский домен.
Код для отправки сообщения:
window.onload = function() {
var receiver = document.getElementById('Iframe').contentWindow,
function sendMessage(e) {
receiver.postMessage('Hi from Parent Domain!', 'Iframe-Domain.com');
}
receiver.addEventListener('pageshow', sendMessage);
}
Я хочу, чтобы сообщение отправлялось при загрузке определенной страницы Iframe.
Код для получения сообщения :
<div id="message">
</div>
window.onload = function() {
var message = document.getElementById('message');
function receiveMessage(e) {
if (e.origin !== "Parent-Domain.com")
return;
message.innerHTML = "Message Sent: " + e.data;
}
window.addEventListener('message', receiveMessage);
}
Примечания:
- Родительский домен, работающий на Nginx
- Домен Iframe из веб-приложения (SalesForce), в котором я могу добавить некоторый код, но не изменить элементы, например, добавив кнопку «Onclick».
Спасибо