Я использую такую конструкцию в iframe для отправки его высоты в родительское окно:
<body onload="parent.postMessage(document.body.scrollHeight, '*');">
...
</body>
в родительском окне есть слушатель:
function resizeCrossDomainIframe(id)
{
var iframe = document.getElementById(id);
window.addEventListener('message', function (event)
{
if (isNaN(event.data)) return;
var height = parseInt(event.data);
iframe.height = height + "px";
}, false);
}
<iframe id="voice-iframe" scrolling="no" frameborder="0" onload="resizeCrossDomainIframe('voice-iframe');" src="http://localhost:2040/VoiceApi/Base">
</iframe>
этот код работает в ff, chrome, safari, ie9, возможно, в ie8, но не в опере 11 (хотя в «стрекозе» ошибки не отображаются).
Я думал, что будут некоторые проблемы с т. е., но не с последней версией оперы.
или, может быть, я что-то делаю неправильно?