Я пытаюсь отправить сообщение в iFrame в моем приложении angular. Сообщение отправляется в iFrame; однако переданные данные всегда принимаются в виде пустой строки в iFrame.
Есть идеи, почему это может быть?
Примечание: оба приложения работают локально.
В моем приложении angular:
html:
<iframe id="authIFrame" src="http://127.0.0.1:9000"></iframe>
ts :
const wn = document.getElementById('authIFrame').contentWindow;
wn.postMessage({authToken: 'abcdefg'}, '*');
В iFrame:
if (window.addEventListener) {
window.addEventListener('message', handleMessage, false);
} else if (window.attachEvent) {
window.attachEvent('onmessage', handleMessage());
}
function handleMessage(event) {
//HERE>>>> event.data is always "" (empty string)
const {data, origin, source} = event;
if (isOriginAllowed(origin)) {
const {method, accessToken, idToken, userData} = data;
if (method === 'SET') {
return setIdentityData(accessToken, idToken, userData);
} else if (method === 'GET') {
return getIdentityData();
}
}
}
Я также пытался структурировать данные, передаваемые в iFrame. Это не помогло.
Мое единственное предположение, что, возможно, браузер отказывается отправлять данные, так как мое приложение не работает по https ...