在 iFrame 中嵌入 aspx 页面时,iFrame 的高度可能无法充分容纳其内容,从而导致出现不良滚动条。为了解决这个问题,让我们探索一个跨浏览器的解决方案。
提供的 jQuery 方法在 Chrome 中成功调整了 iFrame 的高度,但在 Firefox 中遇到了问题。这种差异是由于不同浏览器处理跨站脚本 (XSS) 限制的方式不同造成的。
为了确定 iFrame 内容的高度,我们利用 contentWindow.document。 body.scrollHeight。 iFrame 加载后,我们使用以下 JavaScript 动态调整其大小:
function iframeLoaded() { var iFrameID = document.getElementById('idIframe'); if(iFrameID) { iFrameID.height = ""; iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px"; } }
将此 JavaScript 合并到嵌入 iFrame 的页面中,并将事件处理程序连接到iFrame 标签的 onLoad 属性:
<iframe>
在 iFrame 内的内容更新需要手动触发缩放器的情况下,您可以从 iFrame 的内容脚本调用 iframeLoaded():
parent.iframeLoaded();
这个全面的解决方案提供了跨浏览器兼容根据内容动态调整 iFrame 高度,消除不需要的滚动条。
以上是如何动态调整 iFrame 的高度以适应跨浏览器的内容?的详细内容。更多信息请关注PHP中文网其他相关文章!