У меня есть решение, которое работает в IE 7 +
Он использует jQuery
MyLibrary = {
iframeApp: function(options) {
var $app = $(window[options.name]),
$appContainer = $(options.wrapperId);
window.setInterval(function() {
var frameEl = $app[0].frameElement,
frameDoc = 0,
height = 0;
if (frameEl.contentDocument !== undefined) {
frameDoc = frameEl.contentDocument,
height = frameDoc.height || frameDoc.body.offsetHeight;
} else if (frameEl.document !== undefined && frameEl.document.documentElement !== undefined) {
frameDoc = frameEl.document.documentElement,
height = frameDoc.offsetHeight;
}
$appContainer.css("height", height);
}, 500);
}
}
Это код JavaScript. Вот HTML.
<div id="iframe-runner">
<iframe scrolling="no"frameborder="0"name="myiframe"class="myiframe"src="http://mysrc.com/sweet-i-frame-app"width="100%"height="100%"></iframe>
</div>
<script type="text/javascript">
$(function() {
MyLibrary.iframeApp({
name: "myiframe",
wrapperId: "#iframe-runner"
});
})
</script>
Запуск на одной странице:
<script type="text/javascript"src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<div id="iframe-runner">
<iframe scrolling="no"frameborder="0"name="myiframe"class="myiframe"src="http://mysrc.com/sweet-i-frame-app"width="100%"height="100%"></iframe>
</div>
<script type="text/javascript">
$(function() {
iframeApp({
name: "myiframe",
wrapperId: "#iframe-runner"
});
})
function iframeApp(options) {
var $app = $(window[options.name]),
$appContainer = $(options.wrapperId);
window.setInterval(function() {
var frameEl = $app[0].frameElement,
frameDoc = 0,
height = 0;
if (frameEl.contentDocument !== undefined) {
frameDoc = frameEl.contentDocument,
height = frameDoc.height || frameDoc.body.offsetHeight;
} else if (frameEl.document !== undefined && frameEl.document.documentElement !== undefined) {
frameDoc = frameEl.document.documentElement,
height = frameDoc.offsetHeight;
}
$appContainer.css("height", height);
}, 500);
}
</script>
УБЕДИТЕСЬ, что вы обновили iframes SRC