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


Posted in Javascript onMay 16, 2017

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(),通过这样的分析,最后终于将问题解决了,经过这次,我一定要改掉急躁这个毛病,应该在遇到问题后,先分析问题和思考解决方法,如果自己解决不了再去查找相应的解决方法。这样就不会浪费时间和精力了。

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

Javascript 相关文章推荐
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
Mar 05 Javascript
字符串的replace方法应用浅析
Dec 06 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
jQuery中对节点进行操作的相关介绍
Apr 16 Javascript
浅析JS运动
Dec 28 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
Jul 05 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
js操作二进制数据方法
Mar 03 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 #Javascript
Vue.js tab实现选项卡切换
May 16 #Javascript
Vue.js手风琴菜单组件开发实例
May 16 #Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 #Javascript
js自定义瀑布流布局插件
May 16 #Javascript
简单实现js点击展开二级菜单功能
May 16 #Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 #Javascript
You might like
PHP XML备份Mysql数据库
2009/05/27 PHP
UCenter Home二次开发指南
2009/05/28 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
详解vue axios二次封装
2018/07/22 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python实现调度算法代码详解
2017/12/01 Python
python 拼接文件路径的方法
2018/10/23 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
Python有参函数使用代码实例
2020/01/06 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
python文件排序的方法总结
2020/09/13 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
公积金转移接收函
2014/01/11 职场文书
家长给孩子的评语
2014/01/30 职场文书
临床护士自荐信
2014/01/31 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
综艺节目策划方案
2014/06/13 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
地方课程教学计划
2015/01/19 职场文书
优秀团员个人总结
2015/02/26 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
常用的Python代码调试工具总结
2021/06/23 Python