所以我知道这个解决方案在某个地方,但我找不到它。我已经研究了大约一天的 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>
关于google-chrome - 仅调整 IFrame 高度 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593637/