具有可扩展内容的 iframe 自动调整大小
iframe autosize with expandable content
我正在构建一个页面,需要使用iframe,以便我们可以对内容进行包装,也可以在没有内容的情况下显示它。我已经能够想出一些自动检测 iframe 高度的 JS,但其中的内容会扩展并且 iframe 无法识别这一点。我假设我需要在框架内容中提出某种 onclick,这将触发 iframe 再次调整大小,但到目前为止一直卡住了。
下面是我在 head 部分中用于自动调整 iframe 大小的函数的 JS:
<script type="text/JavaScript">
function autoResize(id){
//alert('check');
var newheight;
var newwidth;
if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
}
//alert(newheight);
//alert(newwidth);
document.getElementById(id).height= (newheight) + "px";
document.getElementById(id).width= (newwidth) + "px";
}
</script>
然后这是带有加载和 ID 的 iframe:
<iframe id="showcase" src="index.html" onload="javascript: autoResize('showcase');" frameborder="0" width="800px" height="4000" scrolling="no"></iframe>
感谢您的任何帮助,我希望我在这个问题上足够具体。
我不确定,但我假设您可以使用 DOM 突变事件来设置帧更改中body
对象的offsetWidth
/offsetHeight
属性的事件处理程序并调用autoResize
。
同样,我不确定这是否可行。
相关文章:
- Firefox:根据实际内容调整iframe的大小
- 如果iframe通过单击加载,则自动调整iframe大小无效
- 在内容刷新或更新时调整iframe的大小
- 我需要一种自动调整iframe大小的方法,无论我查到什么,它都不起作用
- 调整 iframe 的大小,以便在每次更改 src 时包装其内容
- 如何根据 iframe 的大小调整 iframe 内容的大小
- JavaScript调整iFrame大小-适用于Firefox/IE,但不适用于Chrome
- 如何在窗口调整大小时调整iframe的大小
- Javascript没有调整iframe的大小
- 我可以使用jQuery来调整iframe的大小以填充剩余的窗口空间吗
- 在跨域站点中动态调整iframe的大小
- 加载新内容时调整iframe的高度
- 根据提交单击动态调整 iFrame 的高度
- JavaScript 调整 iframe 的大小,但 iframe 中的元素具有相对大小
- 调整 iframe 的大小以适合多个页面上的内容
- 通过 JavaScript 调整 iFrame 内容的大小
- 根据 DIV 大小调整 iFrame 的大小
- 可以在不重新加载框架的情况下调整 iframe 的大小
- 动态调整 Iframe 大小以与 Chrome 配合使用
- 使用 js 调整 iframe 的大小在 https 时停止工作