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


相关推荐: 高性价比服务器租赁——企业级配置与24小时运维服务  Linux后台任务运行方法_nohup与&使用技巧【技巧】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何快速搭建高效WAP手机网站?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  bootstrap日历插件datetimepicker使用方法  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel storage目录权限问题_Laravel文件写入权限设置  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在建站之星绑定自定义域名?  微信小程序 配置文件详细介绍  如何在IIS中新建站点并配置端口与IP地址?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  公司门户网站制作流程,华为官网怎么做?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何在阿里云香港服务器快速搭建网站?  如何用PHP工具快速搭建高效网站?  在Oracle关闭情况下如何修改spfile的参数  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  网站优化排名时,需要考虑哪些问题呢?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  大连网站制作公司哪家好一点,大连买房网站哪个好?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  Android利用动画实现背景逐渐变暗  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel如何创建自定义Facades?(详细步骤)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  深入理解Android中的xmlns:tools属性  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  javascript中对象的定义、使用以及对象和原型链操作小结  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  如何在阿里云高效完成企业建站全流程?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  英语简历制作免费网站推荐,如何将简历翻译成英文?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  制作企业网站建设方案,怎样建设一个公司网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  网站建设整体流程解析,建站其实很容易!  如何制作一个表白网站视频,关于勇敢表白的小标题?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?