所以我知道这个解决方案在某个地方,但是我找不到。我已经在Google和stackOverflow中挖掘了大约一天。
基本上,我有一个iframe,我正在尝试使其扩展到其内容的大小,这是一个非常简单的任务。我经历了几种方法,分别针对不同的高度等进行了研究。但是由于某些令人毛骨悚然的原因,Chrome不想忍受我。
因此,这是调整IFrame大小的JavaScript。为了确保JS正常工作并读取我在innerHTML片段中投入的高度(有点像调试)
<script type="text/javascript">
function resizeFrame() {
var t=document.getElementById("Footer");
var f = document.getElementById("mainContent");
var y = f.contentWindow;
t.innerHTML = y.document.body.offsetHeight;
f.height = y.body.offsetHeight;
}
</script>
这是iframe:
<iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0 height="100%" width="100%">
Not working!</iframe>
因此,出于某些奇怪的原因,它不起作用,在Chrome浏览器中让我非常讨厌。但是它可以在Firefox和IE中使用。任何解决方案?
最佳答案
除非我缺少任何内容,否则我相信您在函数的最后一行有错字(缺少.document.
)
以下在Chrome(18.0)中对我有效:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function resizeFrame() {
var t=document.getElementById("Footer");
var f = document.getElementById("mainContent");
var y = f.contentWindow;
t.innerHTML = y.document.body.offsetHeight;
f.height = y.document.body.offsetHeight;
}
</script>
</head>
<body>
<iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0
height="100%" width="100%">Working!</iframe>
<p id="Footer"> Footer</p>
</body>
</html>