iframe高度自适应的6个方法

iframe高度自适应的6个方法原文链接 http caibaojian com iframe adjust content height htmlJS 自适应高度 其实就是设置 iframe 的高度 使其等于内嵌网页的高度 从而看不出来滚动条和嵌套痕迹 对于用户体验和网站美观起着重要作用 如果内容是固定的 那么我们可以通过 CSS 来给它直接定义一个高度 同样可以实现上面的需求 当内容是未知或者是变化的时候 这个时候又有几种

原文链接: http://caibaojian.com/iframe-adjust-content-height.html

JS自适应高度,其实就是设置iframe的高度,使其等于内嵌网页的高度,从而看不出来滚动条和嵌套痕迹。对于用户体验和网站美观起着重要作用。

如果内容是固定的,那么我们可以通过CSS来给它直接定义一个高度,同样可以实现上面的需求。当内容是未知或者是变化的时候。这个时候又有几种情况了。

iframe内容未知,高度可预测

这个时候,我们可以给它添加一个默认的CSS的min-height值,然后同时使用JavaScript改变高度。常用的兼容代码有:

 // document.domain = "caibaojian.com"; function setIframeHeight(iframe) { if (iframe) { var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow; if (iframeWin.document.body) { iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight; } } }; window.onload = function () { setIframeHeight(document.getElementById('external-frame')); }; 

演示地址

演示一(如果在同个顶级域名下,不同子域名之间互通信息,设置document.domain=”caibaojian.com”·

只要修改以上的iframe的ID即可了。或者你可以直接在iframe里面写代码,我们一般为了不污染HTML代码,建议使用上面的代码。

 

演示二

多个iframe的情况下

演示三

针对知道的iframe的ID调用

function iframeAutoFit(iframeObj){ setTimeout(function(){if(!iframeObj) return;iframeObj.height=(iframeObj.Document?iframeObj.Document.body.scrollHeight:iframeObj.contentDocument.body.offsetHeight);},200) } 

演示四

内容宽度变化的iframe高度自适应

//code from http://caibaojian.com/iframe-adjust-content-height.html
  

演示五

打开调试运行窗口可以看到运行。

跨域下的iframe自适应高度

a.html中包含iframe:

 

在c.html中加入如下代码:

  

最后,agent.html中放入一段js:

 

agent.html从URL中获得宽度值和高度值,并设置iframe的高度和宽度(因为agent.html在www.a.com下,所以操作a.html时不受JavaScript的同源限制)

演示六

来源: 前端开发博客




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206450.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午3:40
下一篇 2026年3月19日 下午3:40


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号