javascript 中iframe高度自适应(同域)实例详解

发布时间 - 2026-01-11 01:08:01    点击率:

javascript 中iframe高度自适应(同域)

       今天解决了iframe高度自适应的问题,不过这只是同域下的页面嵌入,以下是代码:

function SetCwinHeight(){

     var iframeid = document.getElementById("frame");  //frame是iframe的id

     if (document.getElementById) {
      if (iframeid && !window.opera) {
        if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {

         iframeid.height = iframeid.contentDocument.body.offsetHeight;

        }else if (iframeid.Document && iframeid.Document.body.scrollHeight) {
         
         iframeid.height = iframeid.Document.body.scrollHeight;
         
        }
      }
     } 

             iframe嵌入页面时需要等待它完全加载完后才可以调用SetCwinHeight(),所以当修改iframe里的src值时,也需要等待修改的页面完全嵌入后才可以调用SetCwinHeight(),这样才有效果,那么该怎么放置SetCwinHeight(),我的解决方法是在iframe标签里直接调用,即这样写 <iframe onload = "SetCwinHeight();"></iframe>,但是这样的的话会污染了html环境,可是在js中一般只用一次window.onload = function(){},如果使用多次,后面的会覆盖前面的,所以目前为止我能想到的解决方法就这一个,

      当嵌入页面修改时,iframe的高度也需要调整,当我在js文件直接这样window.onload = function(){SetCwinHeight();}调用SetCwinHeight()时,只有刷新整个页面才可以自适应高度,如果修改了iframe的src,iframe的高度还是前一个页面的高度,当前页面的高度无法自适应,一开始我以为是SetCwinHeight()写错了,但是当刷新整个页面时,当前页面又可以自适应了,在遇到这个问题之后,我的焦急毛病又出现了,总是没有分析问题就急急忙忙的去查找有关于问题的解决方法,然后查出来的又文不对题,这样反反复复,不仅浪费了时间,还使得自己的心情特别烦躁,这样的话工作就无法再进展下去。通过了这次的工作明白了自己的毛病,在休息了一会后,重新静下心来整理思路,然后分析出现的问题,程序如何运行,点击后程序运行的步骤又是什么,分析完后再看看是哪一步出错了,为什么会出错,像这次出现的错误,并不是程序写错了,而是程序运行的步骤出错了,整个页面刷新后就可以实现效果,但是修改src后又没有效果了,而window.onload = function(){}这一步是等待页面完全加载完后才执行,那么应该就是加载的问题了,所以需要等待页面加载完后才可以调用SetCwinHeight(),通过这样的分析,最后终于将问题解决了,经过这次,我一定要改掉急躁这个毛病,应该在遇到问题后,先分析问题和思考解决方法,如果自己解决不了再去查找相应的解决方法。这样就不会浪费时间和精力了。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# iframe高度自适应(同域)  # javascript  # iframe高度自适应  # iframe高度自适应及隐藏滚动条的实例详解  # JS实现iframe自适应高度的方法示例  # JS解决iframe之间通信和自适应高度的问题  # jQuery简单实现iframe的高度根据页面内容自适应的方法  # JS实现iframe自适应高度的方法(兼容IE与FireFox)  # iframe实现高度自适应小程序web-view方案  # 解决方法  # 错了  # 自适应  # 完后  # 才可以  # 自己的  # 加载  # 是在  # 解决了  # 这一  # 文不对题  # 我在  # 又是  # 这个问题  # 我能  # 希望能  # 才有  # 这只  # 再去  # 会后 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 高端建站如何打造兼具美学与转化的品牌官网?  如何快速使用云服务器搭建个人网站?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何续费美橙建站之星域名及服务?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何在自有机房高效搭建专业网站?  Laravel如何实现模型的全局作用域?(Global Scope示例)  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  EditPlus中的正则表达式实战(6)  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何快速查询网站的真实建站时间?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  BootStrap整体框架之基础布局组件  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何配置和使用缓存?(Redis代码示例)  jQuery 常见小例汇总  高防服务器租用指南:配置选择与快速部署攻略  如何快速搭建FTP站点实现文件共享?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  如何快速配置高效服务器建站软件?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  nginx修改上传文件大小限制的方法  香港服务器租用每月最低只需15元?  如何在阿里云高效完成企业建站全流程?  bing浏览器学术搜索入口_bing学术文献检索地址  如何自定义建站之星模板颜色并下载新样式?  Laravel如何实现API版本控制_Laravel版本化API设计方案  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何为不同团队 ID 动态生成多个非值班状态按钮  如何用狗爹虚拟主机快速搭建网站?  Python制作简易注册登录系统  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何用虚拟主机快速搭建网站?详细步骤解析  再谈Python中的字符串与字符编码(推荐)  中国移动官方网站首页入口 中国移动官网网页登录  独立制作一个网站多少钱,建立网站需要花多少钱?  如何在IIS中配置站点IP、端口及主机头?  详解MySQL数据库的安装与密码配置  非常酷的网站设计制作软件,酷培ai教育官方网站?